From c33f52baf19f1fbe0a19840888856f647557113d Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 2 Jun 2020 23:20:29 +0200 Subject: [PATCH] test(nproc): add a test --- tests/by-util/test_nproc.rs | 59 ++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/tests/by-util/test_nproc.rs b/tests/by-util/test_nproc.rs index 651491045..de3f51de5 100644 --- a/tests/by-util/test_nproc.rs +++ b/tests/by-util/test_nproc.rs @@ -1 +1,58 @@ -// ToDO: add tests +use crate::common::util::*; + +#[test] +fn test_nproc() { + let (_, mut ucmd) = at_and_ucmd!(); + let result = ucmd.run(); + assert!(result.success); + let nproc: u8 = result.stdout.trim().parse().unwrap(); + assert!(nproc > 0); +} + + +#[test] +fn test_nproc_all_omp() { + let (_, mut ucmd) = at_and_ucmd!(); + let result = ucmd.arg("--all").run(); + assert!(result.success); + let nproc: u8 = result.stdout.trim().parse().unwrap(); + assert!(nproc > 0); + + + let result = TestScenario::new(util_name!()) + .ucmd_keepenv() + .env("OMP_NUM_THREADS", "1") + .run(); + assert!(result.success); + let nproc_omp: u8 = result.stdout.trim().parse().unwrap(); + assert!(nproc-1 == nproc_omp); + + + let result = TestScenario::new(util_name!()) + .ucmd_keepenv() + .env("OMP_NUM_THREADS", "1") // Has no effect + .arg("--all") + .run(); + assert!(result.success); + let nproc_omp: u8 = result.stdout.trim().parse().unwrap(); + assert!(nproc == nproc_omp); +} + +#[test] +fn test_nproc_ignore() { + let (_, mut ucmd) = at_and_ucmd!(); + let result = ucmd.run(); + assert!(result.success); + let nproc: u8 = result.stdout.trim().parse().unwrap(); + if nproc > 1 { + // Ignore all CPU but one + let result = TestScenario::new(util_name!()) + .ucmd_keepenv() + .arg("--ignore") + .arg((nproc - 1).to_string()) + .run(); + assert!(result.success); + let nproc: u8 = result.stdout.trim().parse().unwrap(); + assert!(nproc == 1); + } +}