From 8d256f79c595c34595cbab72b25a01401becac73 Mon Sep 17 00:00:00 2001 From: "Micah D. Gale" Date: Wed, 16 Oct 2024 09:06:48 -0500 Subject: [PATCH 1/2] Moved test_version to pytest. --- tests/test_version.py | 60 +++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/tests/test_version.py b/tests/test_version.py index 19d8114d8..ab565878a 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -1,38 +1,36 @@ import importlib import os import sys -from unittest import TestCase -class TestVersion(TestCase): - def test_version(self): - self.assertTrue(os.path.exists(os.path.join("montepy", "_version.py"))) - # Test without version.py - try: - # try without setuptools_scm - old_file = os.path.join("montepy", "_version.py") - new_file = os.path.join("montepy", "_version.bak") - os.rename(old_file, new_file) - # clear out previous imports - to_delete = set() - for mod in sys.modules: - for bad_mod in ["setuptools_scm", "montepy"]: - if bad_mod in mod: - to_delete.add(mod) - for mod in to_delete: - del sys.modules[mod] - sys.modules["setuptools_scm"] = None - import montepy +def test_version(): + assert os.path.exists(os.path.join("montepy", "_version.py")) + # Test without version.py + try: + # try without setuptools_scm + old_file = os.path.join("montepy", "_version.py") + new_file = os.path.join("montepy", "_version.bak") + os.rename(old_file, new_file) + # clear out previous imports + to_delete = set() + for mod in sys.modules: + for bad_mod in ["setuptools_scm", "montepy"]: + if bad_mod in mod: + to_delete.add(mod) + for mod in to_delete: + del sys.modules[mod] + sys.modules["setuptools_scm"] = None + import montepy - self.assertEqual(montepy.__version__, "Undefined") - # try with setuptools_scm - del sys.modules["setuptools_scm"] - importlib.reload(montepy) - print(f"From setuptools_scm: {montepy.__version__}") - self.assertTrue(len(montepy.__version__.split(".")) >= 3) - finally: - os.rename(new_file, old_file) - # do base with _version + assert montepy.__version__ == "Undefined" + # try with setuptools_scm + del sys.modules["setuptools_scm"] importlib.reload(montepy) - print(f"From _version.py: {montepy.__version__}") - self.assertTrue(len(montepy.__version__.split(".")) >= 3) + print(f"From setuptools_scm: {montepy.__version__}") + assert len(montepy.__version__.split(".")) >= 3 + finally: + os.rename(new_file, old_file) + # do base with _version + importlib.reload(montepy) + print(f"From _version.py: {montepy.__version__}") + assert len(montepy.__version__.split(".")) >= 3 From 5fee5d793b4c1c2725cf12018d631c5b20836246 Mon Sep 17 00:00:00 2001 From: "Micah D. Gale" Date: Wed, 16 Oct 2024 09:21:18 -0500 Subject: [PATCH 2/2] Ensured _version is always available in tests. --- tests/test_version.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/test_version.py b/tests/test_version.py index ab565878a..104ecced1 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -1,9 +1,16 @@ import importlib import os +import subprocess import sys +from pathlib import Path def test_version(): + version_file = Path("montepy") / "_version.py" + if not version_file.exists(): + subprocess.run( + ["python", "-m", "setuptools_scm", "--force-write-version-files"] + ) assert os.path.exists(os.path.join("montepy", "_version.py")) # Test without version.py try: