Skip to content

Commit

Permalink
Ensure that files are always deleted
Browse files Browse the repository at this point in the history
  • Loading branch information
RongtongJin committed Oct 11, 2023
1 parent aa112c7 commit 4991710
Showing 1 changed file with 36 additions and 34 deletions.
70 changes: 36 additions & 34 deletions common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -238,40 +238,42 @@ public void testCalculateFileSizeInPath() throws Exception {
*/
String basePath = System.getProperty("java.io.tmpdir") + File.separator + "testCalculateFileSizeInPath";
File baseFile = new File(basePath);
// test empty path
assertEquals(0, UtilAll.calculateFileSizeInPath(baseFile));

// create baseDir
assertTrue(baseFile.mkdirs());

File file0 = new File(baseFile, "file_0");
assertTrue(file0.createNewFile());
writeFixedBytesToFile(file0, 1313);

assertEquals(1313, UtilAll.calculateFileSizeInPath(baseFile));

// build a file tree like above
File dir1 = new File(baseFile, "dir_1");
dir1.mkdirs();
File file10 = new File(dir1, "file_1_0");
File file11 = new File(dir1, "file_1_1");
File dir12 = new File(dir1, "dir_1_2");
dir12.mkdirs();
File file120 = new File(dir12, "file_1_2_0");
File dir2 = new File(baseFile, "dir_2");
dir2.mkdirs();

// write all file with 1313 bytes data
assertTrue(file10.createNewFile());
writeFixedBytesToFile(file10, 1313);
assertTrue(file11.createNewFile());
writeFixedBytesToFile(file11, 1313);
assertTrue(file120.createNewFile());
writeFixedBytesToFile(file120, 1313);

assertEquals(1313 * 4, UtilAll.calculateFileSizeInPath(baseFile));

deleteFolder(baseFile);
try {
// test empty path
assertEquals(0, UtilAll.calculateFileSizeInPath(baseFile));

// create baseDir
assertTrue(baseFile.mkdirs());

File file0 = new File(baseFile, "file_0");
assertTrue(file0.createNewFile());
writeFixedBytesToFile(file0, 1313);

assertEquals(1313, UtilAll.calculateFileSizeInPath(baseFile));

// build a file tree like above
File dir1 = new File(baseFile, "dir_1");
dir1.mkdirs();
File file10 = new File(dir1, "file_1_0");
File file11 = new File(dir1, "file_1_1");
File dir12 = new File(dir1, "dir_1_2");
dir12.mkdirs();
File file120 = new File(dir12, "file_1_2_0");
File dir2 = new File(baseFile, "dir_2");
dir2.mkdirs();

// write all file with 1313 bytes data
assertTrue(file10.createNewFile());
writeFixedBytesToFile(file10, 1313);
assertTrue(file11.createNewFile());
writeFixedBytesToFile(file11, 1313);
assertTrue(file120.createNewFile());
writeFixedBytesToFile(file120, 1313);

assertEquals(1313 * 4, UtilAll.calculateFileSizeInPath(baseFile));
} finally {
deleteFolder(baseFile);
}
}

public static void deleteFolder(File folder) {
Expand Down

0 comments on commit 4991710

Please sign in to comment.