diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /third_party/rust/serial_test/src/lib.rs | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/serial_test/src/lib.rs')
-rw-r--r-- | third_party/rust/serial_test/src/lib.rs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/third_party/rust/serial_test/src/lib.rs b/third_party/rust/serial_test/src/lib.rs new file mode 100644 index 0000000000..e83eec042d --- /dev/null +++ b/third_party/rust/serial_test/src/lib.rs @@ -0,0 +1,60 @@ +#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] + +//! # serial_test +//! `serial_test` allows for the creation of serialised Rust tests using the [serial](macro@serial) attribute +//! e.g. +//! ```` +//! #[test] +//! #[serial] +//! fn test_serial_one() { +//! // Do things +//! } +//! +//! #[test] +//! #[serial] +//! fn test_serial_another() { +//! // Do things +//! } +//! ```` +//! Multiple tests with the [serial](macro@serial) attribute are guaranteed to be executed in serial. Ordering +//! of the tests is not guaranteed however. +//! +//! For cases like doctests and integration tests where the tests are run as separate processes, we also support +//! [file_serial](macro@file_serial), with similar properties but based off file locking. Note that there are no +//! guarantees about one test with [serial](macro@serial) and another with [file_serial](macro@file_serial) +//! as they lock using different methods. +//! ```` +//! #[test] +//! #[file_serial] +//! fn test_serial_three() { +//! // Do things +//! } +//! ```` +//! +//! ## Feature flags +#![cfg_attr( + feature = "docsrs", + cfg_attr(doc, doc = ::document_features::document_features!()) +)] + +mod code_lock; +#[cfg(feature = "file_locks")] +mod file_lock; + +pub use code_lock::{ + local_async_serial_core, local_async_serial_core_with_return, local_serial_core, + local_serial_core_with_return, +}; + +#[cfg(feature = "file_locks")] +pub use file_lock::{ + fs_async_serial_core, fs_async_serial_core_with_return, fs_serial_core, + fs_serial_core_with_return, +}; + +// Re-export #[serial/file_serial]. +#[allow(unused_imports)] +pub use serial_test_derive::serial; + +#[cfg(feature = "file_locks")] +pub use serial_test_derive::file_serial; |