debian-koji/tests
Mike McLean 4fddafc54d rmtree: use fork
These changes work around a thread safety issue in our rmtree
implementation, which uses chdir to traverse the directory tree.
Using chdir resolves issues deleting paths longer than PATH_MAX, but
makes the code inherently unsafe in a threaded environment.

Now, the main rmtree function uses fork to perform the actions in a
dedicated process.
To avoid possible locking issues with the logging module, we introduce a
simple proxy logger for the subprocess.

Fixes: https://pagure.io/koji/issue/3755

For historical context see:
https://pagure.io/koji/issue/201
https://pagure.io/koji/issue/2481
https://pagure.io/koji/issue/2714
2024-04-10 11:20:15 +02:00
..
test_builder add unit tests and drop obsolete ones 2024-03-28 15:58:07 +01:00
test_cli Fix remove-tag-inheritance with priority 2024-03-26 15:11:24 +01:00
test_hub Fix remove-tag-inheritance with priority 2024-03-26 15:11:24 +01:00
test_kojira unit test 2023-05-23 17:54:17 +02:00
test_lib rmtree: use fork 2024-04-10 11:20:15 +02:00
test_plugins Remove six.configparser.SafeConfingParser from tests 2023-11-09 13:58:53 +01:00
test_vm kojikamid: write buildrequires files as bytes 2022-11-09 16:50:17 -05:00
test_www fix tests/flake8 2023-07-04 09:09:57 +02:00
__init__.py Coverage tracking for the test suite. 2016-03-15 11:29:41 -04:00
test_docs_version.py importlib instead of imp 2021-06-02 11:19:33 +02:00
test_scm.py fix tests 2022-11-08 12:25:10 +01:00