bpo-39986: Make test_listdir from test_os more robust#19035
Open
MatzeB wants to merge 1 commit intopython:mainfrom
Open
bpo-39986: Make test_listdir from test_os more robust#19035MatzeB wants to merge 1 commit intopython:mainfrom
MatzeB wants to merge 1 commit intopython:mainfrom
Conversation
The test_listdir test of test_os assumed that calling listdir on the root directory twice gives the same results, however this can fail if unrelated process create files in the root directory in between the two calls. This changes the test to create a temporary directory with two files inside and call listdir on this temporary directory instead.
iritkatriel
reviewed
Jan 15, 2022
| with tempfile.TemporaryDirectory() as tmpdir: | ||
| os.chdir(tmpdir) | ||
| open("a.txt", "w").close() | ||
| open("test_file.foo", "w").close() |
Member
There was a problem hiding this comment.
Can you write something in the files just to make sure they are created on all platforms?
| os.chdir(tmpdir) | ||
| open("a.txt", "w").close() | ||
| open("test_file.foo", "w").close() | ||
| self.assertEqual(set(os.listdir()), set(os.listdir(tmpdir))) |
Member
There was a problem hiding this comment.
Would it make sense to check that the file you created are in the output?
Comment on lines
+2209
to
+2213
| with tempfile.TemporaryDirectory() as tmpdir: | ||
| os.chdir(tmpdir) | ||
| open("a.txt", "w").close() | ||
| open("test_file.foo", "w").close() | ||
| self.assertEqual(set(os.listdir()), set(os.listdir(tmpdir))) |
Member
There was a problem hiding this comment.
There is already a directory with a known content: self.dir.
Suggested change
| with tempfile.TemporaryDirectory() as tmpdir: | |
| os.chdir(tmpdir) | |
| open("a.txt", "w").close() | |
| open("test_file.foo", "w").close() | |
| self.assertEqual(set(os.listdir()), set(os.listdir(tmpdir))) | |
| os.chdir(self.dir) | |
| self.assertEqual(set(os.listdir()), expected) |
|
This PR is stale because it has been open for 30 days with no activity. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The test_listdir test of test_os assumed that calling listdir on the
root directory twice gives the same results, however this can fail if
unrelated process create files in the root directory in between the two
calls. This changes the test to create a temporary directory with two
files inside and call listdir on this temporary directory instead.
https://bugs.python.org/issue39986