1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-08-01 21:47:46 +00:00

backup_control: Run tests in series

Make all tests lock a mutex to ensure that they're run in series rather than
parallel. We must take this precaution due to the fact that all tests are run
in parallel as threads of one parent process. As all threads in a process share
e.g. environment variables, we use the Mutex to ensure they're run one after
another.

This way we can guarantee that tests that rely on environment variables to have
specific values will see these variables, too.

An alternative implementation could have used the [rusty fork][1] crate to run
all tests that need env variables in separate processes rather than threads.
However, rusty fork likely wouldn't run on all platforms that the utilities are
supposed to run on.
This commit is contained in:
Andreas Hartmann 2021-07-05 14:11:31 +02:00
parent 2db1ec99f1
commit 250bcaf7c5
3 changed files with 85 additions and 53 deletions

3
Cargo.lock generated
View file

@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "Inflector"
version = "0.11.4"
@ -2758,6 +2760,7 @@ dependencies = [
name = "uucore"
version = "0.0.8"
dependencies = [
"clap",
"data-encoding",
"dns-lookup",
"dunce",