From 2496a5871c28fb8be149b3e23f4d3d1b86f09ef6 Mon Sep 17 00:00:00 2001 From: CentOS CI Date: Nov 11 2019 18:05:04 +0000 Subject: Test defaults and overrides with .update_from_defaults_directory() Signed-off-by: CentOS CI --- diff --git a/Dockerfile b/Dockerfile index 2a12b0b..430eeb3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,5 @@ RUN dnf -y --setopt=install_weak_deps=False install \ make \ python3-six \ python3-libmodulemd \ - python3-libmodulemd1 \ python3-GitPython \ && dnf -y clean all diff --git a/tests/validate.py b/tests/validate.py index 680d0c6..cb77ab6 100755 --- a/tests/validate.py +++ b/tests/validate.py @@ -102,9 +102,11 @@ def main(): script_dir = os.path.abspath(sys.argv[1]) else: script_dir = os.path.dirname(os.path.realpath(__file__)) + defaults_dir = os.path.abspath(os.path.join(script_dir, '..')) + overrides_dir = os.path.join(defaults_dir, 'overrides') # Get the repo we're running in - repo = git.Repo(script_dir, search_parent_directories=True) + repo = git.Repo(defaults_dir, search_parent_directories=True) # Get the list of files in this repository files = [x for (x, y) in repo.index.entries.keys()] @@ -120,7 +122,6 @@ def main(): exclusions.append(line.strip()) # Validate all of the files - merger = Modulemd.ModuleIndexMerger() for file in files: excluded = False for excl in exclusions: @@ -132,16 +133,6 @@ def main(): if not valid: error("{} failed to validate".format(file)) result = os.EX_DATAERR - else: - try: - merger.associate_index(idx, 0) - except GLib.Error as e: - error( - "Could not merge {} with other defaults: {}".format( - file, e.message - ) - ) - result = os.EX_DATAERR if result == os.EX_DATAERR: return result @@ -150,7 +141,10 @@ def main(): # conflicts arise that weren't detected by the above tests. This should be # impossible. try: - idx = merger.resolve_ext(strict_default_streams=True) + idx = Modulemd.ModuleIndex() + idx.update_from_defaults_directory(path=defaults_dir, + overrides_path=overrides_dir, + strict=True) except GLib.Error as e: error("Could not merge all defaults: {}".format(e.message)) result = os.EX_DATAERR @@ -158,6 +152,11 @@ def main(): if result == os.EX_OK: info("Merging all of the documents encountered no errors.") + print("\nDefault streams:") + print("================") + for m, s in idx.get_default_streams().items(): + print("{}:{}".format(m, s)) + return result