Unittests are broken
I've tried with command "python -m unittest -v test.test_cerbero_config" from the root directory on my Gentoo Linux box:
testAllPropsInitializedNone (test.test_cerbero_config.LinuxPackagesTest) ... ok
testCheckUninstalled (test.test_cerbero_config.LinuxPackagesTest) ... ok
testFindDataDir (test.test_cerbero_config.LinuxPackagesTest) ... ERROR
testJoinPath (test.test_cerbero_config.LinuxPackagesTest) ... FAIL
testLastDefaults (test.test_cerbero_config.LinuxPackagesTest) ... ERROR
testLoadCommandConfig (test.test_cerbero_config.LinuxPackagesTest) ... Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/cerbero/utils/__init__.py", line 387, in parse_file
exec(compile(open(filename).read(), filename, 'exec'), dict)
IsADirectoryError: [Errno 21] Is a directory: '/'
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/cerbero/utils/__init__.py", line 387, in parse_file
exec(compile(open(filename).read(), filename, 'exec'), dict)
IsADirectoryError: [Errno 21] Is a directory: '/'
ERROR
testLoadDefaults (test.test_cerbero_config.LinuxPackagesTest) ... /home/max/sources/cerbero-freedesktop/cerbero/utils/__init__.py:166: DeprecationWarning: dist() and linux_distribution() functions are deprecated in Python 3.5
d = pplatform.linux_distribution()
ERROR
testLoadMainConfig (test.test_cerbero_config.LinuxPackagesTest) ... ERROR
testLoadPlatformConfig (test.test_cerbero_config.LinuxPackagesTest) ... /home/max/sources/cerbero-freedesktop/cerbero/utils/__init__.py:387: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/tmpm71dv_2z/linux.config' mode='r' encoding='UTF-8'>
exec(compile(open(filename).read(), filename, 'exec'), dict)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
ok
testPakcagesExternalRepositories (test.test_cerbero_config.LinuxPackagesTest) ... ok
testParseBadConfigFile (test.test_cerbero_config.LinuxPackagesTest) ... ERROR
testRecipesExternalRepositories (test.test_cerbero_config.LinuxPackagesTest) ... ok
testSetupEnv (test.test_cerbero_config.LinuxPackagesTest) ... ERROR
======================================================================
ERROR: testFindDataDir (test.test_cerbero_config.LinuxPackagesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/test/test_cerbero_config.py", line 129, in testFindDataDir
self.assertRaises(FatalError, config.load_defaults)
File "/usr/lib/python3.7/unittest/case.py", line 756, in assertRaises
return context.handle('assertRaises', args, kwargs)
File "/usr/lib/python3.7/unittest/case.py", line 178, in handle
callable_obj(*args, **kwargs)
File "/home/max/sources/cerbero-freedesktop/cerbero/config.py", line 481, in load_defaults
self.set_property('cached_sources', self._relative_path('sources'))
File "/home/max/sources/cerbero-freedesktop/cerbero/config.py", line 720, in _relative_path
p = os.path.join(self.data_dir, path)
File "/usr/lib/python-exec/python3.7/../../../lib/python3.7/posixpath.py", line 80, in join
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
======================================================================
ERROR: testLastDefaults (test.test_cerbero_config.LinuxPackagesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/test/test_cerbero_config.py", line 178, in testLastDefaults
config._load_last_defaults()
File "/home/max/sources/cerbero-freedesktop/cerbero/config.py", line 687, in _load_last_defaults
"%s_%s" % (target_platform, self.target_arch)))
File "/usr/lib/python-exec/python3.7/../../../lib/python3.7/posixpath.py", line 80, in join
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
======================================================================
ERROR: testLoadCommandConfig (test.test_cerbero_config.LinuxPackagesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/cerbero/config.py", line 609, in _parse
parse_file(filename, config)
File "/home/max/sources/cerbero-freedesktop/cerbero/utils/__init__.py", line 391, in parse_file
raise ex
File "/home/max/sources/cerbero-freedesktop/cerbero/utils/__init__.py", line 387, in parse_file
exec(compile(open(filename).read(), filename, 'exec'), dict)
IsADirectoryError: [Errno 21] Is a directory: '/'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/test/test_cerbero_config.py", line 173, in testLoadCommandConfig
config._load_cmd_config(tmpfile.name)
File "/home/max/sources/cerbero-freedesktop/cerbero/config.py", line 657, in _load_cmd_config
self._parse(f, reset=False)
File "/home/max/sources/cerbero-freedesktop/cerbero/config.py", line 612, in _parse
filename)
cerbero.errors.ConfigurationError: Configuration Error: Could not include config file (/)
======================================================================
ERROR: testLoadDefaults (test.test_cerbero_config.LinuxPackagesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/test/test_cerbero_config.py", line 82, in testLoadDefaults
'wix_prefix': cconfig.DEFAULT_WIX_PREFIX,
AttributeError: module 'cerbero.config' has no attribute 'DEFAULT_WIX_PREFIX'
======================================================================
ERROR: testLoadMainConfig (test.test_cerbero_config.LinuxPackagesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/test/test_cerbero_config.py", line 105, in testLoadMainConfig
config._load_main_config()
AttributeError: 'Config' object has no attribute '_load_main_config'
======================================================================
ERROR: testParseBadConfigFile (test.test_cerbero_config.LinuxPackagesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/test/test_cerbero_config.py", line 156, in testParseBadConfigFile
self.assertRaises(ConfigurationError, config.parse, tmpfile.name)
AttributeError: 'Config' object has no attribute 'parse'
======================================================================
ERROR: testSetupEnv (test.test_cerbero_config.LinuxPackagesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/test/test_cerbero_config.py", line 145, in testSetupEnv
config.do_setup_env()
File "/home/max/sources/cerbero-freedesktop/cerbero/config.py", line 278, in do_setup_env
self.build_tools_prefix, 'share', 'aclocal'))
File "/usr/lib/python-exec/python3.7/../../../lib/python3.7/posixpath.py", line 80, in join
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
======================================================================
FAIL: testJoinPath (test.test_cerbero_config.LinuxPackagesTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/max/sources/cerbero-freedesktop/test/test_cerbero_config.py", line 163, in testJoinPath
self.assertEqual(config._join_path('/test1', '/test2'), '/test1;/test2')
AssertionError: '/test1:/test2' != '/test1;/test2'
- /test1:/test2
? ^
+ /test1;/test2
? ^
----------------------------------------------------------------------
Ran 13 tests in 0.011s
FAILED (failures=1, errors=7)