diff options
| author | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2019-09-04 19:47:35 +0200 |
|---|---|---|
| committer | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2019-09-04 19:51:43 +0200 |
| commit | c7a6100279f7fe609aa2ff488dfb177a91909930 (patch) | |
| tree | 6e77ff28676541c2b85d3da026740d95f35e2428 | |
| parent | da63b71f5069a5d9201e46087c8a1464b36442a3 (diff) | |
| download | rabbitmq-server-git-c7a6100279f7fe609aa2ff488dfb177a91909930.tar.gz | |
unit_inbroker_non_parallel_SUITE: Mark log files as writable before deleting them
On Unix, the system checks the permissions of the directory holding a
file to determine if a file can be removed or not: if there is write
permission on a directory, a file in this directory can be removed, even
though the file itself might be read-only.
On Windows however, a read-only file cannot be removed: trying to do so
returns `EACCES`.
Therefore, in the `log_management` testcase, after testing the behavior
with read-only log files, we must mark them as writable again before we
clean them up. Otherwise, the testcase fails on Windows.
| -rw-r--r-- | test/unit_inbroker_non_parallel_SUITE.erl | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/test/unit_inbroker_non_parallel_SUITE.erl b/test/unit_inbroker_non_parallel_SUITE.erl index 23ce382186..f006e0c717 100644 --- a/test/unit_inbroker_non_parallel_SUITE.erl +++ b/test/unit_inbroker_non_parallel_SUITE.erl @@ -244,6 +244,7 @@ log_management1(_Config) -> %% logging directed to tty (first, remove handlers) ok = rabbit:stop(), + ok = make_files_writable([LogFile ++ Suffix]), ok = clean_logs([LogFile], Suffix), ok = application:set_env(rabbit, lager_default_file, tty), application:unset_env(rabbit, log), @@ -444,6 +445,11 @@ delete_file(File) -> Error -> Error end. +make_files_writable(Files) -> + [ok = file:write_file_info(File, #file_info{mode=8#644}) || + File <- Files], + ok. + make_files_non_writable(Files) -> [ok = file:write_file_info(File, #file_info{mode=8#444}) || File <- Files], |
