12#include <catch2/catch_test_macros.hpp>
13#include <catch2/matchers/catch_matchers_string.hpp>
15#include "tests/utils/qvector.hpp"
16#include "tests/utils/qmatrix.hpp"
17#include "tests/utils/compare.hpp"
18#include "tests/utils/convert.hpp"
19#include "tests/utils/evolve.hpp"
20#include "tests/utils/linalg.hpp"
21#include "tests/utils/lists.hpp"
22#include "tests/utils/macros.hpp"
23#include "tests/utils/random.hpp"
25using Catch::Matchers::ContainsSubstring;
33#define TEST_CATEGORY \
34 LABEL_UNIT_TAG "[environment]"
48 SECTION( LABEL_CORRECTNESS ) {
54 SECTION( LABEL_VALIDATION ) {
56 REQUIRE_THROWS_WITH(
initQuESTEnv(), ContainsSubstring(
"already been initialised") );
68TEST_CASE(
"initCustomQuESTEnv", TEST_CATEGORY ) {
70 SECTION( LABEL_CORRECTNESS ) {
76 SECTION( LABEL_VALIDATION ) {
78 REQUIRE_THROWS_WITH(
initCustomQuESTEnv(0,0,0), ContainsSubstring(
"already been initialised") );
86TEST_CASE(
"initCustomMpiQuESTEnv", TEST_CATEGORY ) {
88 SECTION( LABEL_CORRECTNESS ) {
94 SECTION( LABEL_VALIDATION ) {
96 REQUIRE_THROWS_WITH(
initCustomMpiQuESTEnv(0,0,0,0), ContainsSubstring(
"already been initialised") );
104TEST_CASE(
"finalizeQuESTEnv", TEST_CATEGORY ) {
106 SECTION( LABEL_CORRECTNESS ) {
113 SECTION( LABEL_VALIDATION ) {
122TEST_CASE(
"syncQuESTEnv", TEST_CATEGORY ) {
124 SECTION( LABEL_CORRECTNESS ) {
130 SECTION( LABEL_VALIDATION ) {
139TEST_CASE(
"isQuESTEnvInit", TEST_CATEGORY ) {
141 SECTION( LABEL_CORRECTNESS ) {
147 SECTION( LABEL_VALIDATION ) {
155TEST_CASE(
"getQuESTEnv", TEST_CATEGORY ) {
157 SECTION( LABEL_CORRECTNESS ) {
161 REQUIRE( env.rank >= 0 );
162 REQUIRE( env.numNodes >= 0 );
164 if (!env.isDistributed) {
165 REQUIRE( env.rank == 0 );
166 REQUIRE( env.numNodes == 1 );
169 bool isNumNodesPow2 = ((env.numNodes & (env.numNodes - 1)) == 0);
170 REQUIRE( isNumNodesPow2 );
173 SECTION( LABEL_VALIDATION ) {
void initCustomQuESTEnv(int useDistrib, int useGpuAccel, int useMultithread)
void initCustomMpiQuESTEnv(int useDistrib, bool userOwnsMpi, int useGpuAccel, int useMultithread)
TEST_CASE("initQuESTEnv", TEST_CATEGORY)