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(
"finalizeQuESTEnv", TEST_CATEGORY ) {
88 SECTION( LABEL_CORRECTNESS ) {
95 SECTION( LABEL_VALIDATION ) {
104TEST_CASE(
"syncQuESTEnv", TEST_CATEGORY ) {
106 SECTION( LABEL_CORRECTNESS ) {
112 SECTION( LABEL_VALIDATION ) {
121TEST_CASE(
"isQuESTEnvInit", TEST_CATEGORY ) {
123 SECTION( LABEL_CORRECTNESS ) {
129 SECTION( LABEL_VALIDATION ) {
137TEST_CASE(
"getQuESTEnv", TEST_CATEGORY ) {
139 SECTION( LABEL_CORRECTNESS ) {
143 REQUIRE( (env.isMultithreaded == 0 || env.isMultithreaded == 1) );
144 REQUIRE( (env.isGpuAccelerated == 0 || env.isGpuAccelerated == 1) );
145 REQUIRE( (env.isDistributed == 0 || env.isDistributed == 1) );
146 REQUIRE( (env.isCuQuantumEnabled == 0 || env.isCuQuantumEnabled == 1) );
147 REQUIRE( (env.isGpuSharingEnabled == 0 || env.isGpuSharingEnabled == 1) );
149 REQUIRE( env.rank >= 0 );
150 REQUIRE( env.numNodes >= 0 );
152 if (!env.isDistributed) {
153 REQUIRE( env.rank == 0 );
154 REQUIRE( env.numNodes == 1 );
157 bool isNumNodesPow2 = ((env.numNodes & (env.numNodes - 1)) == 0);
158 REQUIRE( isNumNodesPow2 );
161 SECTION( LABEL_VALIDATION ) {
void initCustomQuESTEnv(int useDistrib, int useGpuAccel, int useMultithread)
TEST_CASE("initQuESTEnv", TEST_CATEGORY)