From be9eae6828018d45dbf229eb6acd6bc1396fa3d4 Mon Sep 17 00:00:00 2001 From: Grzegorz Bokota Date: Tue, 3 Mar 2020 22:40:13 +0100 Subject: [PATCH] test path_contains --- test/02_test/test/spam_test.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/test/02_test/test/spam_test.py b/test/02_test/test/spam_test.py index f5a33ad8..4eb8ca1f 100644 --- a/test/02_test/test/spam_test.py +++ b/test/02_test/test/spam_test.py @@ -6,9 +6,15 @@ from unittest import TestCase import spam -def normalize_path(path_str): - """because of windows short path""" - return os.path.normcase(path_str).replace("vssadm~1", "vssadministrator") +def path_contains(parent, child): + parent = os.path.abspath(parent) + child = os.path.abspath(child) + + while child != os.path.dirname(child): + child = os.path.dirname(child) + if os.stat(parent) == os.stat(child): + return True + return False class TestSpam(TestCase): @@ -17,7 +23,7 @@ class TestSpam(TestCase): self.assertNotEqual(0, spam.system('python -c "exit(1)"')) def test_virtualenv(self): - virtualenv_path = normalize_path(os.environ.get("__CIBW_VIRTUALENV_PATH__")) + virtualenv_path = os.environ.get("__CIBW_VIRTUALENV_PATH__") if not virtualenv_path: self.fail("No virtualenv path defined in environment variable __CIBW_VIRTUALENV_PATH__") @@ -29,5 +35,5 @@ class TestSpam(TestCase): print("=[listdir]2", os.listdir(os.path.join(virtualenv_path, 'Scripts'))) if os.path.exists(os.path.join(virtualenv_path, 'bin')): print("=[listdir]2", os.listdir(os.path.join(virtualenv_path, 'bin'))) - self.assertTrue(virtualenv_path in normalize_path(sys.executable)) - self.assertTrue(virtualenv_path in normalize_path(spam.__file__)) + self.assertTrue(path_contains(virtualenv_path, sys.executable)) + self.assertTrue(path_contains(virtualenv_path, spam.__file__))