Skip to content

Commit 761027d

Browse files
committed
use os.path.normcase and os.path.realpath to ensure compatability is MacOS
1 parent 67340c8 commit 761027d

1 file changed

Lines changed: 42 additions & 15 deletions

File tree

tests/test_CodeEntropy/test_run.py

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,20 @@ def test_create_job_folder_with_existing_folders(self, mock_listdir, mock_makedi
6464
new_folder_path = RunManager.create_job_folder()
6565
expected_path = os.path.join(self.test_dir, "job004")
6666

67-
normalized_new = os.path.normcase(os.path.normpath(new_folder_path))
68-
normalized_expected = os.path.normcase(os.path.normpath(expected_path))
67+
# Normalize paths cross-platform
68+
normalized_new = os.path.normcase(
69+
os.path.realpath(os.path.normpath(new_folder_path))
70+
)
71+
normalized_expected = os.path.normcase(
72+
os.path.realpath(os.path.normpath(expected_path))
73+
)
74+
6975
self.assertEqual(normalized_new, normalized_expected)
7076

7177
called_args, called_kwargs = mock_makedirs.call_args
72-
normalized_called = os.path.normcase(os.path.normpath(called_args[0]))
78+
normalized_called = os.path.normcase(
79+
os.path.realpath(os.path.normpath(called_args[0]))
80+
)
7381
self.assertEqual(normalized_called, normalized_expected)
7482
self.assertTrue(called_kwargs.get("exist_ok", False))
7583

@@ -87,12 +95,18 @@ def test_create_job_folder_with_non_matching_folders(
8795
new_folder_path = RunManager.create_job_folder()
8896
expected_path = os.path.join(self.test_dir, "job001")
8997

90-
normalized_new = os.path.normcase(os.path.normpath(new_folder_path))
91-
normalized_expected = os.path.normcase(os.path.normpath(expected_path))
98+
normalized_new = os.path.normcase(
99+
os.path.realpath(os.path.normpath(new_folder_path))
100+
)
101+
normalized_expected = os.path.normcase(
102+
os.path.realpath(os.path.normpath(expected_path))
103+
)
92104
self.assertEqual(normalized_new, normalized_expected)
93105

94106
called_args, called_kwargs = mock_makedirs.call_args
95-
normalized_called = os.path.normcase(os.path.normpath(called_args[0]))
107+
normalized_called = os.path.normcase(
108+
os.path.realpath(os.path.normpath(called_args[0]))
109+
)
96110
self.assertEqual(normalized_called, normalized_expected)
97111
self.assertTrue(called_kwargs.get("exist_ok", False))
98112

@@ -106,14 +120,21 @@ def test_create_job_folder_mixed_folder_names(self, mock_listdir, mock_makedirs)
106120
mock_listdir.return_value = ["job001", "abc", "job002", "random"]
107121
new_folder_path = RunManager.create_job_folder()
108122
expected_path = os.path.join(self.test_dir, "job003")
109-
self.assertEqual(
110-
os.path.normcase(os.path.abspath(new_folder_path)),
111-
os.path.normcase(os.path.abspath(expected_path)),
123+
124+
normalized_new = os.path.normcase(
125+
os.path.realpath(os.path.normpath(new_folder_path))
112126
)
127+
normalized_expected = os.path.normcase(
128+
os.path.realpath(os.path.normpath(expected_path))
129+
)
130+
self.assertEqual(normalized_new, normalized_expected)
113131

114-
called_path = os.path.normcase(os.path.abspath(mock_makedirs.call_args[0][0]))
115-
self.assertEqual(called_path, os.path.normcase(os.path.abspath(expected_path)))
116-
self.assertTrue(mock_makedirs.call_args[1]["exist_ok"])
132+
called_args, called_kwargs = mock_makedirs.call_args
133+
normalized_called = os.path.normcase(
134+
os.path.realpath(os.path.normpath(called_args[0]))
135+
)
136+
self.assertEqual(normalized_called, normalized_expected)
137+
self.assertTrue(called_kwargs.get("exist_ok", False))
117138

118139
@patch("os.makedirs")
119140
@patch("os.listdir")
@@ -130,12 +151,18 @@ def test_create_job_folder_with_invalid_job_suffix(
130151
new_folder_path = RunManager.create_job_folder()
131152
expected_path = os.path.join(self.test_dir, "job003")
132153

133-
normalized_new = os.path.normcase(os.path.normpath(new_folder_path))
134-
normalized_expected = os.path.normcase(os.path.normpath(expected_path))
154+
normalized_new = os.path.normcase(
155+
os.path.realpath(os.path.normpath(new_folder_path))
156+
)
157+
normalized_expected = os.path.normcase(
158+
os.path.realpath(os.path.normpath(expected_path))
159+
)
135160
self.assertEqual(normalized_new, normalized_expected)
136161

137162
called_args, called_kwargs = mock_makedirs.call_args
138-
normalized_called = os.path.normcase(os.path.normpath(called_args[0]))
163+
normalized_called = os.path.normcase(
164+
os.path.realpath(os.path.normpath(called_args[0]))
165+
)
139166
self.assertEqual(normalized_called, normalized_expected)
140167
self.assertTrue(called_kwargs.get("exist_ok", False))
141168

0 commit comments

Comments
 (0)