mirror of https://github.com/dnomd343/klotski.git
Dnomd343
3 months ago
4 changed files with 36 additions and 26 deletions
@ -0,0 +1,32 @@ |
|||||
|
#pragma once |
||||
|
|
||||
|
#include <atomic> |
||||
|
#include <gtest/gtest.h> |
||||
|
|
||||
|
#include "helper/concurrent.h" |
||||
|
|
||||
|
namespace helper { |
||||
|
|
||||
|
/// Test fixture wrapper with concurrency tools.
|
||||
|
class Concurrent { |
||||
|
protected: |
||||
|
// Execute same task concurrently.
|
||||
|
Racer racer_ {}; |
||||
|
|
||||
|
// Execute assigned tasks one by one.
|
||||
|
Executor serial_ {1}; |
||||
|
|
||||
|
// Execute assigned tasks on all cores.
|
||||
|
Executor executor_ {0}; |
||||
|
|
||||
|
// Atomic helpers for multi-thread testing.
|
||||
|
std::atomic<int> counter_ {0}; |
||||
|
std::atomic_flag condition_ {false}; |
||||
|
}; |
||||
|
|
||||
|
/// Test fixture macro with custom test suite name.
|
||||
|
#define TEST_FF(test_suite_name, test_name) \ |
||||
|
GTEST_TEST_(test_suite_name, test_name, test_suite_name##Test, \ |
||||
|
::testing::internal::GetTypeId<test_suite_name##Test>()) |
||||
|
|
||||
|
} // namespace helper
|
Loading…
Reference in new issue