Merge branch 'pornovoisines' of https://github.com/Roman2K/youtube-dl into Roman2K...
[youtube-dl] / test / test_execution.py
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()