Sequoia
Loading...
Searching...
No Matches
ConcurrencyModelsTest.hpp
Go to the documentation of this file.
1
2// Copyright Oliver J. Rosten 2018. //
3// Distributed under the GNU GENERAL PUBLIC LICENSE, Version 3.0. //
4// (See accompanying file LICENSE.md or copy at //
5// https://www.gnu.org/licenses/gpl-3.0.en.html) //
7
8#pragma once
9
13
14#include <vector>
15
16namespace sequoia::testing
17{
18 class threading_models_test final : public free_test
19 {
20 public:
21 using free_test::free_test;
22
23 [[nodiscard]]
24 std::filesystem::path source_file() const;
25
26 void run_tests();
27 private:
28
29 void test_task_queue();
30
31 template<class ThreadModel, class... Args>
32 void test_exceptions(std::string_view message, Args&&... args);
33
34 template<class ThreadModel, class... Args>
35 void test_execution(std::string_view message, Args&&... args);
36
37 void test_serial_exceptions();
38 void test_serial_execution();
39 };
40}
Utilities for checking regular semantics.
class template from which all concrete tests should derive.
Definition: FreeTestCore.hpp:144
Definition: ConcurrencyModelsTest.hpp:19