diff options
author | Zach Koopmans <zkoopmans@google.com> | 2019-08-20 15:05:17 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-08-20 15:06:54 -0700 |
commit | 3d0715b3f8e7864104e9cbb29b16e6a6b7568d63 (patch) | |
tree | 2260b3c6dfcff7ec18901c7201740de89551ec15 | |
parent | cf8a689be7fdb539bb789ebd52ce19432776f16d (diff) |
Fix flaky futex test.
The test is long running (175128 ms or so) which causes timeouts.
The test simply makes sure that private futexes can acquire
locks concurrently. Dropping current threads and increasing the
number of locks each thread tests the same concurrency concerns
but drops execution time to ~1411 ms.
PiperOrigin-RevId: 264476144
-rw-r--r-- | test/syscalls/linux/futex.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/syscalls/linux/futex.cc b/test/syscalls/linux/futex.cc index aacbb5e70..d2cbbdb49 100644 --- a/test/syscalls/linux/futex.cc +++ b/test/syscalls/linux/futex.cc @@ -689,10 +689,10 @@ TEST_P(PrivateAndSharedFutexTest, PITryLockConcurrency_NoRandomSave) { std::atomic<int> a = ATOMIC_VAR_INIT(0); const bool is_priv = IsPrivate(); - std::unique_ptr<ScopedThread> threads[100]; + std::unique_ptr<ScopedThread> threads[10]; for (size_t i = 0; i < ABSL_ARRAYSIZE(threads); ++i) { threads[i] = absl::make_unique<ScopedThread>([is_priv, &a] { - for (size_t j = 0; j < 10;) { + for (size_t j = 0; j < 100;) { if (futex_trylock_pi(is_priv, &a) >= 0) { ++j; EXPECT_EQ(a.load() & FUTEX_TID_MASK, gettid()); |