1.1 --- a/tests/dstest_file_readdir_concurrent.cc Sun Oct 23 21:53:01 2022 +0200
1.2 +++ b/tests/dstest_file_readdir_concurrent.cc Mon Oct 24 00:55:28 2022 +0200
1.3 @@ -38,6 +38,7 @@
1.4
1.5 if (!client_opened(reader))
1.6 {
1.7 + printf("Failed to open %s: %s\n", filename, reader != NULL ? l4sys_errtostr(reader->error) : "(no reader)");
1.8 client_close(reader);
1.9 return 1;
1.10 }
2.1 --- a/tests/dstest_file_rename.cc Sun Oct 23 21:53:01 2022 +0200
2.2 +++ b/tests/dstest_file_rename.cc Mon Oct 24 00:55:28 2022 +0200
2.3 @@ -59,6 +59,8 @@
2.4 free(dirent);
2.5 }
2.6
2.7 + client_close(reader);
2.8 +
2.9 printf("Directory shown.\n");
2.10
2.11 printf("Renamed files: %d (%d)\n", renamed, expected);
2.12 @@ -69,6 +71,11 @@
2.13 return 0;
2.14 }
2.15
2.16 +static size_t max(size_t a, size_t b)
2.17 +{
2.18 + return a >= b ? a : b;
2.19 +}
2.20 +
2.21 int main(int argc, char *argv[])
2.22 {
2.23 if (argc < 3)
2.24 @@ -81,31 +88,13 @@
2.25
2.26 printf("Opening %s...\n", filename);
2.27
2.28 - file_t *reader = client_opendir(filename);
2.29 -
2.30 - if (!client_opened(reader))
2.31 - {
2.32 - client_close(reader);
2.33 - printf("Could not read from directory.\n");
2.34 - return 1;
2.35 - }
2.36 -
2.37 - printf("Reading...\n");
2.38 -
2.39 - struct dirent *dirent;
2.40 -
2.41 - while ((dirent = client_readdir(reader)) != NULL)
2.42 - {
2.43 - printf("> %s\n", dirent->d_name);
2.44 - free(dirent);
2.45 - }
2.46 -
2.47 - printf("Directory shown.\n");
2.48 + show_directory(filename, 0);
2.49
2.50 /* Rename some files. */
2.51
2.52 - char source[strlen(filename) + strlen("/file-XXXX.txt") + 10];
2.53 - char target[strlen(filename) + strlen("/file-XXXX.txt") + 10];
2.54 + size_t namelen = max(strlen(filename), strlen(newdir));
2.55 + char source[namelen + strlen("/renamed-XXXX.txt") + 10];
2.56 + char target[namelen + strlen("/renamed-XXXX.txt") + 10];
2.57 int filenum, to_rename = 100;
2.58 long err;
2.59
2.60 @@ -118,7 +107,7 @@
2.61
2.62 if (err)
2.63 {
2.64 - printf("Could not rename file: %s\n", source);
2.65 + printf("Could not rename file %s: %s\n", source, l4sys_errtostr(err));
2.66 return 1;
2.67 }
2.68 }
2.69 @@ -138,6 +127,9 @@
2.70 return 1;
2.71 }
2.72
2.73 + file_t *reader;
2.74 + struct dirent *dirent;
2.75 +
2.76 reader = client_opendir(filename);
2.77
2.78 if (!client_opened(reader))
2.79 @@ -160,7 +152,7 @@
2.80
2.81 if (err)
2.82 {
2.83 - printf("Could not rename file: %s\n", source);
2.84 + printf("Could not rename file %s: %s\n", source, l4sys_errtostr(err));
2.85 return 1;
2.86 }
2.87 }
2.88 @@ -168,6 +160,8 @@
2.89 free(dirent);
2.90 }
2.91
2.92 + client_close(reader);
2.93 +
2.94 /* Show the new directory's listing. */
2.95
2.96 if (show_directory(newdir, to_rename))