Skip to content

[lldb] Fix and re-enable TestUseSourceCache.py #111237

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Oct 18, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@ def test_set_use_source_cache_false(self):
self.set_use_source_cache_and_test(False)

@skipIf(hostoslist=no_match(["windows"]))
@skipIf(oslist=["windows"]) # Fails on windows 11
def test_set_use_source_cache_true(self):
"""Test that after 'set use-source-cache false', files are locked."""
"""Test that after 'set use-source-cache true', files are locked."""
self.set_use_source_cache_and_test(True)

def set_use_source_cache_and_test(self, is_cache_enabled):
Expand All @@ -46,23 +45,27 @@ def set_use_source_cache_and_test(self, is_cache_enabled):
# Show the source file contents to make sure LLDB loads src file.
self.runCmd("source list")

# Try deleting the source file.
is_file_removed = self.removeFile(src)
# Try overwriting the source file.
is_file_overwritten = self.overwriteFile(src)

if is_cache_enabled:
self.assertFalse(
is_file_removed, "Source cache is enabled, but delete file succeeded"
is_file_overwritten,
"Source cache is enabled, but writing to file succeeded",
)

if not is_cache_enabled:
self.assertTrue(
is_file_removed, "Source cache is disabled, but delete file failed"
is_file_overwritten,
"Source cache is disabled, but writing to file failed",
)

def removeFile(self, src):
"""Remove file and return true iff file was successfully removed."""
def overwriteFile(self, src):
"""Write to file and return true iff file was successfully written."""
try:
os.remove(src)
f = open(src, "w")
f.writelines(["// hello world\n"])
f.close()
return True
except Exception:
return False
Loading