youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

test_execution.py (1806B)


      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 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
     12 
     13 from youtube_dl.utils import encodeArgument
     14 
     15 rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
     16 
     17 
     18 try:
     19     _DEV_NULL = subprocess.DEVNULL
     20 except AttributeError:
     21     _DEV_NULL = open(os.devnull, 'wb')
     22 
     23 
     24 class TestExecution(unittest.TestCase):
     25     def test_import(self):
     26         subprocess.check_call([sys.executable, '-c', 'import youtube_dl'], cwd=rootDir)
     27 
     28     def test_module_exec(self):
     29         if sys.version_info >= (2, 7):  # Python 2.6 doesn't support package execution
     30             subprocess.check_call([sys.executable, '-m', 'youtube_dl', '--version'], cwd=rootDir, stdout=_DEV_NULL)
     31 
     32     def test_main_exec(self):
     33         subprocess.check_call([sys.executable, 'youtube_dl/__main__.py', '--version'], cwd=rootDir, stdout=_DEV_NULL)
     34 
     35     def test_cmdline_umlauts(self):
     36         p = subprocess.Popen(
     37             [sys.executable, 'youtube_dl/__main__.py', encodeArgument('รค'), '--version'],
     38             cwd=rootDir, stdout=_DEV_NULL, stderr=subprocess.PIPE)
     39         _, stderr = p.communicate()
     40         self.assertFalse(stderr)
     41 
     42     def test_lazy_extractors(self):
     43         try:
     44             subprocess.check_call([sys.executable, 'devscripts/make_lazy_extractors.py', 'youtube_dl/extractor/lazy_extractors.py'], cwd=rootDir, stdout=_DEV_NULL)
     45             subprocess.check_call([sys.executable, 'test/test_all_urls.py'], cwd=rootDir, stdout=_DEV_NULL)
     46         finally:
     47             try:
     48                 os.remove('youtube_dl/extractor/lazy_extractors.py')
     49             except (IOError, OSError):
     50                 pass
     51 
     52 
     53 if __name__ == '__main__':
     54     unittest.main()