Skip to content
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
c7fc9ac
Try getting some screenshots to see what is happening on the Windows …
labkey-danield Mar 11, 2026
9d9915e
Try again to get screenshots.
labkey-danield Mar 12, 2026
eca274f
Add more screenshots.
labkey-danield Mar 12, 2026
06cb6f4
Add a few waits before debug screenshots.
labkey-danield Mar 12, 2026
06940f9
More debug stuff.
labkey-danield Mar 12, 2026
5523712
ANd yet more debug stuff.
labkey-danield Mar 13, 2026
e4ffd26
Merge branch 'release26.3-SNAPSHOT' into 26.3_fb_investigateWindowsFa…
labkey-danield Mar 13, 2026
d6fc4b2
Narrowing down debug work.
labkey-danield Mar 14, 2026
77b01cc
Reverting debug work.
labkey-danield Mar 24, 2026
d936456
Try renaming rather than deleting the directory on Windows.
labkey-danield Mar 25, 2026
438d0b1
Reverting another debug statement.
labkey-danield Mar 25, 2026
98d0272
Implementing code review feedback from claude.
labkey-danield Mar 25, 2026
d5b909a
More claude code review feedback.
labkey-danield Mar 25, 2026
8c258c9
Code review feedback.
labkey-danield Mar 26, 2026
b5e19ed
Remove unused imports.
labkey-danield Mar 26, 2026
c7a960b
Adding back assert that folder has been renamed.
labkey-danield Mar 26, 2026
f2e996b
Adding a retry mechanism.
labkey-danield Mar 27, 2026
ee63c8f
Use retry when deleting a directory.
labkey-danield Mar 27, 2026
80da305
Clean up retry.
labkey-danield Mar 27, 2026
3d08fae
Revert changes to TestFileUtils.
labkey-danield Mar 27, 2026
61f2c5d
Revert changes to TestFileUtils.
labkey-danield Mar 27, 2026
0f0e475
More claude change suggestions.
labkey-danield Mar 27, 2026
7d1f766
Adding a comment, and using mmore consistent logging messaging.
labkey-danield Mar 30, 2026
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
@@ -1,5 +1,6 @@
package org.labkey.test.tests.assay;

import org.apache.commons.io.FileUtils;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.labkey.api.util.FileUtil;
Expand All @@ -14,6 +15,8 @@
import org.labkey.test.params.assay.GeneralAssayDesign;

import java.io.File;
import java.io.IOException;
import java.nio.file.AccessDeniedException;
import java.nio.file.Files;
import java.nio.file.Path;

Expand Down Expand Up @@ -45,8 +48,29 @@ public void testMissingParentDirectoryRegression() throws Exception
assayDesignerPage.addTransformScript(transformFile);
assayDesignerPage.clickSave();

// Now delete the parent dir to ensure we handle it reasonably
TestFileUtils.deleteDir(parentDir.toFile());
// Now delete the parent dir to ensure we handle it reasonably. On Windows something locks the directory, maybe
// an external process. If that happens sleep for a second and try again.
for (int attempt = 1; attempt <= 10; attempt++) {
try
{
FileUtils.deleteDirectory(parentDir.toFile());
log(String.format("Deletion of directory %s was successful.", parentDir));
break;
} catch (AccessDeniedException deniedException) {
// Yes I know AccessDeniedException is a subset of an IOException, but I wanted to log explicitly a
// failure and retry because of an AccessDeniedException from some other IOException.
log(String.format("Access denied trying to delete directory %s. Error: %s. Waiting 10s and retrying. Attempt %d of 10.",
parentDir, deniedException.getMessage(), attempt));
if (attempt == 10) throw deniedException;
sleep(10_000);
}
catch (IOException ioException) {
log(String.format("IOException trying to delete directory %s. Error: %s. Waiting 10s and retrying. Attempt %d of 10.",
parentDir, ioException.getMessage(), attempt));
if (attempt == 10) throw ioException;
sleep(10_000);
}
}

// Attempt to import data and verify a reasonable error message is shown
String importData = """
Expand Down
Loading