Python code refactorings.
This commit refactors the python code in diskimage_builder slightly. This is in preparation for a larger review that adds more functionality to the python code, namely the ability to apply elements to the current system as opposed to a chroot. Further, the refactorings can stand on their own for better clarity. They include: - renaming elements.py to element_dependencies.py. Adds clarity about the purpose of this module. - updating other code for this rename. - move tests into a tests submodule. Change-Id: I5519cc52398e442b24e33802bae42070d64b0c1d
This commit is contained in:
parent
a59797ff24
commit
dee69b1810
@ -17,7 +17,7 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
from diskimage_builder.elements import main
|
||||
from diskimage_builder.element_dependencies import main
|
||||
|
||||
|
||||
sys.exit(main(sys.argv))
|
||||
|
0
diskimage_builder/tests/__init__.py
Normal file
0
diskimage_builder/tests/__init__.py
Normal file
@ -18,7 +18,7 @@ import os
|
||||
import fixtures
|
||||
import testtools
|
||||
|
||||
from diskimage_builder import elements
|
||||
from diskimage_builder import element_dependencies
|
||||
|
||||
data_dir = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), 'test-elements'))
|
||||
@ -47,34 +47,35 @@ class TestElementDeps(testtools.TestCase):
|
||||
_populate_element(self.element_dir, 'circular2', ['circular1'])
|
||||
|
||||
def test_non_transitive_deps(self):
|
||||
result = elements.expand_dependencies(
|
||||
result = element_dependencies.expand_dependencies(
|
||||
['requires-foo'],
|
||||
elements_dir=self.element_dir)
|
||||
self.assertEqual(set(['requires-foo', 'foo']), result)
|
||||
|
||||
def test_missing_deps(self):
|
||||
self.assertRaises(SystemExit, elements.expand_dependencies, ['fake'],
|
||||
self.assertRaises(SystemExit,
|
||||
element_dependencies.expand_dependencies, ['fake'],
|
||||
self.element_dir)
|
||||
|
||||
def test_transitive_deps(self):
|
||||
result = elements.expand_dependencies(
|
||||
result = element_dependencies.expand_dependencies(
|
||||
['requires-requires-foo'], elements_dir=self.element_dir)
|
||||
self.assertEqual(set(['requires-requires-foo',
|
||||
'requires-foo',
|
||||
'foo']), result)
|
||||
|
||||
def test_no_deps(self):
|
||||
result = elements.expand_dependencies(
|
||||
result = element_dependencies.expand_dependencies(
|
||||
['foo'], elements_dir=self.element_dir)
|
||||
self.assertEqual(set(['foo']), result)
|
||||
|
||||
def test_self(self):
|
||||
result = elements.expand_dependencies(
|
||||
result = element_dependencies.expand_dependencies(
|
||||
['self'], elements_dir=self.element_dir)
|
||||
self.assertEqual(set(['self']), result)
|
||||
|
||||
def test_circular(self):
|
||||
result = elements.expand_dependencies(
|
||||
result = element_dependencies.expand_dependencies(
|
||||
['circular1'], elements_dir=self.element_dir)
|
||||
self.assertEqual(set(['circular1', 'circular2']), result)
|
||||
|
||||
@ -83,8 +84,8 @@ class TestElements(testtools.TestCase):
|
||||
def test_depends_on_env(self):
|
||||
self.useFixture(
|
||||
fixtures.EnvironmentVariable('ELEMENTS_PATH', '/foo/bar'))
|
||||
self.assertEqual('/foo/bar', elements.get_elements_dir())
|
||||
self.assertEqual('/foo/bar', element_dependencies.get_elements_dir())
|
||||
|
||||
def test_env_not_set(self):
|
||||
self.useFixture(fixtures.EnvironmentVariable('ELEMENTS_PATH', ''))
|
||||
self.assertRaises(Exception, elements.get_elements_dir, ())
|
||||
self.assertRaises(Exception, element_dependencies.get_elements_dir, ())
|
@ -30,7 +30,7 @@ def load_tests(loader, tests, pattern):
|
||||
# http://bugs.python.org/issue11218
|
||||
pattern = "test*.py"
|
||||
this_dir = os.path.dirname(__file__)
|
||||
elements_dir = os.path.join(this_dir, "..", "elements")
|
||||
elements_dir = os.path.join(this_dir, "..", "..", "elements")
|
||||
# Make a fake elements top level package, as discovery doesn't let us
|
||||
# override the python path.
|
||||
package = StubPackage()
|
Loading…
Reference in New Issue
Block a user