yt-dlp/test/test_execution.py

45 lines
1.3 KiB
Python
Raw Normal View History

2014-11-16 09:17:48 -05:00
#!/usr/bin/env python
# coding: utf-8
2014-11-16 09:17:48 -05:00
from __future__ import unicode_literals
2012-12-01 09:52:34 -05:00
import unittest
import sys
import os
import subprocess
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from youtube_dlc.utils import encodeArgument
2012-12-01 09:52:34 -05:00
rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
2014-11-16 09:17:48 -05:00
2012-12-01 09:52:34 -05:00
try:
_DEV_NULL = subprocess.DEVNULL
except AttributeError:
_DEV_NULL = open(os.devnull, 'wb')
2014-11-16 09:17:48 -05:00
2012-12-01 09:52:34 -05:00
class TestExecution(unittest.TestCase):
def test_import(self):
subprocess.check_call([sys.executable, '-c', 'import youtube_dlc'], cwd=rootDir)
2012-12-01 09:52:34 -05:00
def test_module_exec(self):
2014-11-16 09:17:48 -05:00
if sys.version_info >= (2, 7): # Python 2.6 doesn't support package execution
subprocess.check_call([sys.executable, '-m', 'youtube_dlc', '--version'], cwd=rootDir, stdout=_DEV_NULL)
2012-12-01 09:52:34 -05:00
def test_main_exec(self):
subprocess.check_call([sys.executable, 'youtube_dlc/__main__.py', '--version'], cwd=rootDir, stdout=_DEV_NULL)
2012-12-01 09:52:34 -05:00
def test_cmdline_umlauts(self):
p = subprocess.Popen(
[sys.executable, 'youtube_dlc/__main__.py', encodeArgument('ä'), '--version'],
cwd=rootDir, stdout=_DEV_NULL, stderr=subprocess.PIPE)
_, stderr = p.communicate()
self.assertFalse(stderr)
2012-12-01 09:52:34 -05:00
if __name__ == '__main__':
unittest.main()