diff --git a/Makefile b/Makefile index fe7ad29..60edb2c 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -SUBDIRS = plugins +SUBDIRS = src PREFIX = /usr BINDIR = $(PREFIX)/bin DESTDIR = diff --git a/plugins/Makefile b/src/Makefile similarity index 100% rename from plugins/Makefile rename to src/Makefile diff --git a/plugins/__init__.py b/src/__init__.py similarity index 100% rename from plugins/__init__.py rename to src/__init__.py diff --git a/plugins/builtin_plugin.py b/src/builtin_plugin.py similarity index 99% rename from plugins/builtin_plugin.py rename to src/builtin_plugin.py index 802f7a2..d499d55 100644 --- a/plugins/builtin_plugin.py +++ b/src/builtin_plugin.py @@ -25,9 +25,10 @@ from molecule.compat import get_stringtype from molecule.i18n import _ from molecule.output import red, brown, blue, green, purple, darkgreen, \ darkred, bold, darkblue, readtext -import molecule.utils from molecule.specs.skel import GenericExecutionStep, GenericSpec +import molecule.utils + class BuiltinHandlerMixin: """ This class contains code in common between built-in handler classes. diff --git a/plugins/image_plugin.py b/src/image_plugin.py similarity index 99% rename from plugins/image_plugin.py rename to src/image_plugin.py index 967472f..eaa6cc7 100644 --- a/plugins/image_plugin.py +++ b/src/image_plugin.py @@ -26,11 +26,13 @@ import errno from molecule.i18n import _ from molecule.output import blue, darkred from molecule.specs.skel import GenericExecutionStep, GenericSpec -from molecule.specs.plugins.builtin_plugin import BuiltinHandlerMixin -from molecule.specs.plugins.remaster_plugin import IsoUnpackHandler as \ - RemasterIsoUnpackHandler, ChrootHandler as RemasterChrootHandler + import molecule.utils +from .builtin_plugin import BuiltinHandlerMixin +from .remaster_plugin import IsoUnpackHandler as RemasterIsoUnpackHandler, \ + ChrootHandler as RemasterChrootHandler + class ImageHandler(GenericExecutionStep, BuiltinHandlerMixin): diff --git a/plugins/mmc_plugin.py b/src/mmc_plugin.py similarity index 99% rename from plugins/mmc_plugin.py rename to src/mmc_plugin.py index b470249..c20cbe8 100644 --- a/plugins/mmc_plugin.py +++ b/src/mmc_plugin.py @@ -23,9 +23,11 @@ import errno from molecule.i18n import _ from molecule.output import blue, darkred from molecule.specs.skel import GenericExecutionStep, GenericSpec -from molecule.specs.plugins.builtin_plugin import BuiltinHandlerMixin + import molecule.utils +from .builtin_plugin import BuiltinHandlerMixin + class ChrootHandler(GenericExecutionStep, BuiltinHandlerMixin): diff --git a/plugins/remaster_plugin.py b/src/remaster_plugin.py similarity index 98% rename from plugins/remaster_plugin.py rename to src/remaster_plugin.py index dccc824..cd4e81c 100644 --- a/plugins/remaster_plugin.py +++ b/src/remaster_plugin.py @@ -24,15 +24,14 @@ from molecule.i18n import _ from molecule.output import red, blue, green, purple, darkgreen, \ darkred, bold, darkblue, readtext from molecule.specs.skel import GenericExecutionStep, GenericSpec -from molecule.specs.plugins.builtin_plugin import ChrootHandler as \ - BuiltinChrootHandler -from molecule.specs.plugins.builtin_plugin import CdrootHandler as \ - BuiltinCdrootHandler -from molecule.specs.plugins.builtin_plugin import IsoHandler as \ - BuiltinIsoHandler -from molecule.specs.plugins.builtin_plugin import BuiltinHandlerMixin + import molecule.utils +from .builtin_plugin import ChrootHandler as BuiltinChrootHandler +from .builtin_plugin import CdrootHandler as BuiltinCdrootHandler +from .builtin_plugin import IsoHandler as BuiltinIsoHandler +from .builtin_plugin import BuiltinHandlerMixin + class IsoUnpackHandler(GenericExecutionStep, BuiltinHandlerMixin): def __init__(self, *args, **kwargs): diff --git a/plugins/tar_plugin.py b/src/tar_plugin.py similarity index 98% rename from plugins/tar_plugin.py rename to src/tar_plugin.py index 85bb63d..ff5c9d6 100644 --- a/plugins/tar_plugin.py +++ b/src/tar_plugin.py @@ -22,9 +22,9 @@ import shutil from molecule.i18n import _ from molecule.output import blue, darkred from molecule.specs.skel import GenericExecutionStep, GenericSpec -from molecule.specs.plugins.builtin_plugin import BuiltinHandlerMixin -from molecule.specs.plugins.remaster_plugin import IsoUnpackHandler, \ - ChrootHandler + +from .builtin_plugin import BuiltinHandlerMixin +from .remaster_plugin import IsoUnpackHandler, ChrootHandler import molecule.utils SUPPORTED_COMPRESSION_METHODS = ["bz2", "gz"] diff --git a/tests/parsers.py b/tests/parsers.py index 2b6c246..f052f98 100644 --- a/tests/parsers.py +++ b/tests/parsers.py @@ -23,7 +23,7 @@ class ParsersTest(unittest.TestCase): def test_iso_remaster(self): - from molecule.specs.plugins.remaster_plugin import RemasterSpec + from src.remaster_plugin import RemasterSpec expected_data = { 'execution_strategy': "iso_remaster", @@ -65,7 +65,7 @@ class ParsersTest(unittest.TestCase): def test_chroot_to_iso(self): - from molecule.specs.plugins.builtin_plugin import LivecdSpec + from src.builtin_plugin import LivecdSpec expected_data = { 'execution_strategy': "livecd", @@ -144,7 +144,7 @@ class ParsersTest(unittest.TestCase): def test_iso_to_tar(self): - from molecule.specs.plugins.tar_plugin import IsoToTarSpec + from src.tar_plugin import IsoToTarSpec expected_data = { 'execution_strategy': "iso_to_tar", @@ -185,7 +185,7 @@ class ParsersTest(unittest.TestCase): def test_iso_to_image(self): - from molecule.specs.plugins.image_plugin import IsoToImageSpec + from src.image_plugin import IsoToImageSpec expected_data = { 'execution_strategy': "iso_to_image", diff --git a/tests/run b/tests/run index 175a889..ef65bae 100755 --- a/tests/run +++ b/tests/run @@ -1,17 +1,33 @@ #!/usr/bin/python2 # -*- coding: utf-8 -*- +import os import sys +# Simulate PYTHONPATH, add our plugin directory +MODULE_DIR = os.path.abspath("../") +sys.path.insert(0, MODULE_DIR) +# Add /usr/lib/molecule to PYTHONPATH +sys.path.append("/usr/lib/molecule") + +_plugins = [ + "src.builtin_plugin", + "src.remaster_plugin", + "src.mmc_plugin", + "src.image_plugin", + "src.tar_plugin"] +os.environ["MOLECULE_PLUGIN_MODULES"] = ":".join(_plugins) + + import unittest sys.path.insert(0,'.') sys.path.insert(0,'..') -from tests import version, utils, specs, parsers +from tests import parsers rc = 0 # Add to the list the module to test -mods = [version, utils, specs, parsers] +mods = [parsers] tests = [] for mod in mods: