diff tests/run-tests.py @ 49833:a2356e15200a stable

hghave: add predicates for embedded and filesystem pyoxidizer resources There are a handful of tests with different output between the two flavors of pyoxidizer builds (like the location of the modules and templates), and a few others that avoid `known-bad-output` cases with the embedded resources that shouldn't cause the tests to fail.
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 06 Dec 2022 13:02:54 -0500
parents 9a4c76cc8fe6
children a77c1375c316 6515d9a6592d
line wrap: on
line diff
--- a/tests/run-tests.py	Mon Dec 05 11:49:56 2022 -0500
+++ b/tests/run-tests.py	Tue Dec 06 13:02:54 2022 -0500
@@ -3451,6 +3451,9 @@
                 verbosity = 2
             runner = TextTestRunner(self, verbosity=verbosity)
 
+            osenvironb.pop(b'PYOXIDIZED_IN_MEMORY_RSRC', None)
+            osenvironb.pop(b'PYOXIDIZED_FILESYSTEM_RSRC', None)
+
             if self.options.list_tests:
                 result = runner.listtests(suite)
             else:
@@ -3886,6 +3889,20 @@
             sys.stdout.buffer.write(out)
             sys.exit(1)
 
+        cmd = _bytes2sys(b"%s debuginstall -Tjson" % self._hgcommand)
+        p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
+        out, err = p.communicate()
+
+        props = json.loads(out)[0]
+
+        # Affects hghave.py
+        osenvironb.pop(b'PYOXIDIZED_IN_MEMORY_RSRC', None)
+        osenvironb.pop(b'PYOXIDIZED_FILESYSTEM_RSRC', None)
+        if props["hgmodules"] == props["pythonexe"]:
+            osenvironb[b'PYOXIDIZED_IN_MEMORY_RSRC'] = b'1'
+        else:
+            osenvironb[b'PYOXIDIZED_FILESYSTEM_RSRC'] = b'1'
+
     def _outputcoverage(self):
         """Produce code coverage output."""
         import coverage