]>
Commit | Line | Data |
---|---|---|
1 | #!/usr/bin/env python | |
2 | # coding: utf-8 | |
3 | ||
4 | from __future__ import unicode_literals | |
5 | ||
6 | import unittest | |
7 | ||
8 | import sys | |
9 | import os | |
10 | import subprocess | |
11 | ||
12 | rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
13 | ||
14 | ||
15 | try: | |
16 | _DEV_NULL = subprocess.DEVNULL | |
17 | except AttributeError: | |
18 | _DEV_NULL = open(os.devnull, 'wb') | |
19 | ||
20 | ||
21 | class TestExecution(unittest.TestCase): | |
22 | def test_import(self): | |
23 | subprocess.check_call([sys.executable, '-c', 'import youtube_dl'], cwd=rootDir) | |
24 | ||
25 | def test_module_exec(self): | |
26 | if sys.version_info >= (2, 7): # Python 2.6 doesn't support package execution | |
27 | subprocess.check_call([sys.executable, '-m', 'youtube_dl', '--version'], cwd=rootDir, stdout=_DEV_NULL) | |
28 | ||
29 | def test_main_exec(self): | |
30 | subprocess.check_call([sys.executable, 'youtube_dl/__main__.py', '--version'], cwd=rootDir, stdout=_DEV_NULL) | |
31 | ||
32 | def test_cmdline_umlauts(self): | |
33 | p = subprocess.Popen( | |
34 | [sys.executable, 'youtube_dl/__main__.py', 'รค', '--version'], | |
35 | cwd=rootDir, stdout=_DEV_NULL, stderr=subprocess.PIPE) | |
36 | _, stderr = p.communicate() | |
37 | self.assertFalse(stderr) | |
38 | ||
39 | if __name__ == '__main__': | |
40 | unittest.main() |