Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions .github/workflows/test_free.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ jobs:
build_dir: "build"
depr_dir: "build/tests/deprecated"

# run all slow, rigorous tests (because runner is free)
num_qubit_perms: 0
test_all_deploys: ON

# perform the job
steps:
- name: Get QuEST
Expand All @@ -71,14 +67,13 @@ jobs:
-DENABLE_MULTITHREADING=OFF
-DENABLE_DEPRECATED_API=${{ matrix.version == 3 && 'ON' || 'OFF' }}
-DFLOAT_PRECISION=${{ matrix.precision }}
-DTEST_ALL_DEPLOYMENTS=${{ env.test_all_deploys }}
-DTEST_MAX_NUM_QUBIT_PERMUTATIONS=${{ env.num_qubit_perms }}

# force 'Release' build (needed by MSVC to enable optimisations)
- name: Compile
run: cmake --build ${{ env.build_dir }} --config Release --parallel

# run v4 unit tests in random order, excluding the integration tests
# run v4 unit tests in random order, excluding the integration tests,
# using the default environment variables (e.g. test all permutations)
# TODO:
# ctest currently doesn't know of our Catch2 tags, so we
# are manually excluding each integration test by name
Expand Down
23 changes: 15 additions & 8 deletions .github/workflows/test_paid.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:

# tests will be non-comprehensive/faster to save $$$
num_qubit_perms: 10
test_all_deploys: OFF
test_all_deploys: 0

# perform the job
steps:
Expand Down Expand Up @@ -139,6 +139,12 @@ jobs:
- name: Compile
run: cmake --build ${{ env.build_dir }} --parallel

# specifying only env-vars with non-default values
- name: Configure tests with environment variables
run: |
echo "TEST_MAX_NUM_QUBIT_PERMUTATIONS=${{ env.num_qubit_perms }}" >> $GITHUB_ENV
echo "TEST_ALL_DEPLOYMENTS=${{ env.test_all_deploys }}" >> $GITHUB_ENV

# cannot use ctests when distributed, grr!
- name: Run multithreaded + distributed v4 tests (16 nodes, 4 threads eeach)
if: ${{ matrix.mpi == 'ON' }}
Expand Down Expand Up @@ -206,11 +212,11 @@ jobs:
# which will be shared between 4 MPI processes
# (no --oversubscribe flag necessary on MPICH)
num_mpi_nodes: 4
mpi_share_gpu: ON
mpi_share_gpu: 1

# we will test all combinations of deployments
# (e.g. CPU + MPI vs GPU), repeated 5 times each
test_all_deploys: ON
test_all_deploys: 1
test_repetitions: 5

# perform the job
Expand Down Expand Up @@ -255,16 +261,17 @@ jobs:
-DENABLE_CUDA=${{ matrix.cuda }}
-DENABLE_CUQUANTUM=${{ matrix.cuquantum }}
-DCMAKE_CUDA_ARCHITECTURES=${{ env.cuda_arch }}
-DTEST_ALL_DEPLOYMENTS=${{ env.test_all_deploys }}
-DTEST_NUM_MIXED_DEPLOYMENT_REPETITIONS=${{ env.test_repetitions }}
-DCMAKE_CXX_FLAGS=${{ matrix.mpi == 'ON' && matrix.cuda == 'ON' && '-fno-lto' || '' }}

- name: Compile
run: cmake --build ${{ env.build_dir }} --parallel

# permit use of single GPU by multiple MPI processes (detriments performance)
- name: Set env-var to permit GPU sharing
run: echo "PERMIT_NODES_TO_SHARE_GPU=${{ env.mpi_share_gpu }}" >> $GITHUB_ENV
# specify only env-vars with non-default values
- name: Configure tests with environment variables
run: |
echo "TEST_ALL_DEPLOYMENTS=${{ env.test_all_deploys }}" >> $GITHUB_ENV
echo "TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS=${{ env.test_repetitions }}" >> $GITHUB_ENV
echo "PERMIT_NODES_TO_SHARE_GPU=${{ env.mpi_share_gpu }}" >> $GITHUB_ENV

# cannot use ctests when distributed, grr!
- name: Run GPU + distributed v4 mixed tests (4 nodes sharing 1 GPU)
Expand Down
59 changes: 0 additions & 59 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -123,65 +123,6 @@ option(
ON
)

string(CONCAT DESCRIPTON_OF_TEST_MAX_NUM_QUBIT_PERMUTATIONS # for multiline description
"The maximum number of control and target qubit permutations under which to unit test each function. "
"Set to 0 (default) to test all permutations, or to a positive integer (e.g. 50) to accelerate the unit tests. "
"This is used to accelerate the v4 unit tests, and has no effect when ENABLE_TESTING is OFF, nor on the v3 deprecated tests."
)
set(TEST_MAX_NUM_QUBIT_PERMUTATIONS 0
CACHE
STRING
"${DESCRIPTON_OF_TEST_MAX_NUM_QUBIT_PERMUTATIONS}"
)
if (ENABLE_TESTING)
set(PERM_STRING "${TEST_MAX_NUM_QUBIT_PERMUTATIONS} random")
if (TEST_MAX_NUM_QUBIT_PERMUTATIONS EQUAL 0)
set(PERM_STRING "all")
endif()
message(STATUS "Tests will use ${PERM_STRING} qubit permutations. Set TEST_MAX_NUM_QUBIT_PERMUTATIONS to modify.")
endif()

string(CONCAT DESCRIPTON_OF_TEST_MAX_NUM_SUPEROP_TARGETS # for multiline description
"The maximum number of superoperator targets for which to unit test functions mixKrausMap and mixSuperOp. "
"This is computationally equivalent to simulating unitaries with double the number of targets upon a density matrix. "
"Set to 0 to test all sizes which is likely prohibitively slow, or to a positive integer (e.g. the default of 4) to accelerate the unit tests. "
"This is used to accelerate the v4 unit tests, and has no effect when ENABLE_TESTING is OFF, nor on the v3 deprecated tests."
)
set(TEST_MAX_NUM_SUPEROP_TARGETS 4
CACHE
STRING
"${DESCRIPTON_OF_TEST_MAX_NUM_SUPEROP_TARGETS}"
)
if (ENABLE_TESTING)
set(PERM_STRING "${TEST_MAX_NUM_SUPEROP_TARGETS} random")
if (TEST_MAX_NUM_SUPEROP_TARGETS EQUAL 0)
set(PERM_STRING "all")
endif()
message(STATUS "Tests will use superoperators of up to ${PERM_STRING} qubits. Set TEST_MAX_NUM_SUPEROP_TARGETS to modify.")
endif()

set(TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS 10
CACHE
STRING
"The number of times (minimum=1) to repeat each mixed-deployment unit test for each deployment combination."
)
if (ENABLE_TESTING)
if (TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS LESS_EQUAL 0)
message(FATAL_ERROR "Cannot set TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS <= 0. Must be at least 1.")
endif()
message(STATUS "Tests will repeat each mixed-deployment unit test ${TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS} times. Set TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS to modify.")
endif()

string(CONCAT DESCRIPTION_OF_TEST_ALL_DEPLOYMENTS # for multiline description
"Whether unit tests will be run using all possible deployment combinations (i.e. OpenMP, CUDA, MPI) in-turn (ON), "
"or only once using all available deployments simultaneously (OFF). Turned ON by default. "
"This is used to accelerate the v4 unit tests, and has no effect when ENABLE_TESTING is OFF, nor on the v3 deprecated tests."
)
option(TEST_ALL_DEPLOYMENTS "${DESCRIPTION_OF_TEST_ALL_DEPLOYMENTS}" ON)
if (ENABLE_TESTING)
message(STATUS "Testing all deployments is turned ${TEST_ALL_DEPLOYMENTS}. Set TEST_ALL_DEPLOYMENTS to modify.")
endif()

# Multithreading
option(
ENABLE_MULTITHREADING
Expand Down
6 changes: 2 additions & 4 deletions docs/cmake.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,8 @@ make
| `ENABLE_TESTING` | (`OFF`), `ON` | Determines whether to additionally build QuEST's unit and integration tests. If built, tests can be run from the `build` directory with `make test`, or `ctest`, or manually launched with `./tests/tests` which enables distribution (i.e. `mpirun -np 8 ./tests/tests`) |
| `ENABLE_DEPRECATED_API` | (`OFF`), `ON` | As described above. When enabled alongside testing, the `v3 deprecated` unit tests will additionally be compiled and can be run from within `build` via `cd tests/deprecated; ctest`, or manually launched with `./tests/deprecated/dep_tests` (enabling distribution, as above).
| `DOWNLOAD_CATCH2` | (`ON`), `OFF` | QuEST's tests require Catch2. By default, if you don't have Catch2 installed (or CMake doesn't find it) it will be downloaded from Github and built for you. If you don't want that to happen, for example because you _do_ have Catch2 installed, set this to `OFF`. |
| `TEST_MAX_NUM_QUBIT_PERMUTATIONS` | (`0`), Integer | Determines the maximum number of control and target qubit permutations with which to test each API function. Set to `0` to test all permutations, or to a positive integer (e.g. `50`) to accelerate the unit tests. |
| `TEST_MAX_NUM_SUPEROP_TARGETS` | (`4`), Integer | Determines the maximum number of superoperator targets in the unit tests (for functions `mixKrausMap` and `mixSuperOp`). Set to `0` to impose no maximum (which is extraordinarily slow), or a positive integer (e.g. `3`) to accelerate the unit tests. |
| `TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS` | (`10`), Integer | Determines the number of times (minimum of `1`) to repeat the randomised unit tests of functions which accept multiple distinctly-deployed `Qureg`s. Set to a small, positive integer to accelerate mixed-deployment unit tests. |
| `TEST_ALL_DEPLOYMENTS` | (`ON`), `OFF` | Determines whether unit tests will be repeatedly run using all possible combinations of available `Qureg` deployments (i.e. `OpenMP` and/or `CUDA` and/or `MPI`), else only once using all available deployments simultaneously. Set to `OFF` to accelerate unit tests. |

> As of `v4.2`, macros which configure the unit tests such as `TEST_MAX_NUM_QUBIT_PERMUTATIONS` have become environment variables specified before launch. See [`launch.md`](launch.md)

---------------------------

Expand Down
17 changes: 16 additions & 1 deletion docs/launch.md
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,21 @@ Test project /build
Alas tests launched in this way cannot be deployed with distribution.


#### Environment variables

The `v4` unit tests make use of the below, optional environment variables to control their rigour and runtime.


| Environment variable | Default | Description |
| -------- | ------- | ------- |
| `TEST_NUM_QUBITS_IN_QUREG` | `6` | The number of qubits in the Qureg(s) undergoing unit testing. In addition to operation upon larger Quregs being exponentially slower, beware that more qubits permit more variations and permutations of input parameters like target qubits, factorially increasing the number of tests per operation. |
| `TEST_MAX_NUM_QUBIT_PERMUTATIONS` | `0` | The maximum number of control and target qubit permutations under which to unit test each function. Set to `0` (default) to test all permutations, or to a positive integer (e.g. `50`) to accelerate the unit tests. See more info [here](https://quest-kit.github.io/QuEST/group__testutilsconfig.html#gac5adcc10bd26c56f20344f5ae3d9ba41). |
| `TEST_MAX_NUM_SUPEROP_TARGETS` | `4` | The maximum number of superoperator targets for which to unit test functions `mixKrausMap()` and `mixSuperOp()`. These are computationally equivalent to simulating unitaries with double the number of targets upon a density matrix. Set to `0` to test all sizes which is likely prohibitively slow, or to a positive integer (e.g. the default of `4`) to accelerate the unit tests. |
| `NUM_MIXED_DEPLOYMENT_REPETITIONS` | `10` | The number of times (minimum of `1`) to repeat each random mixed-deployment unit test for each deployment combination. |
| `TEST_ALL_DEPLOYMENTS` | `1` | Whether unit tests will be run using all possible deployment combinations (i.e. OpenMP, CUDA, MPI) in-turn (`=1`), or only once using all available deployments simultaneously (`=0`). |




<!-- permit doxygen to reference section -->
<a id="launch_v3"></a>
Expand Down Expand Up @@ -256,7 +271,7 @@ QuEST execution can be configured prior to runtime using the below [environment
- [`PERMIT_NODES_TO_SHARE_GPU`](https://quest-kit.github.io/QuEST/group__modes.html#ga7e12922138caa68ddaa6221e40f62dda)
- [`DEFAULT_VALIDATION_EPSILON`](https://quest-kit.github.io/QuEST/group__modes.html#ga55810d6f3d23de810cd9b12a2bbb8cc2)


Note the unit tests in the preceding section accept additional environment variables.


---------------------
Expand Down
8 changes: 0 additions & 8 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# @author Oliver Thomson Brown
# @author Tyson Jones (macros and MPI ctests)

add_executable(tests
main.cpp
Expand All @@ -16,12 +15,5 @@ if (ENABLE_DEPRECATED_API)
endif()


# map test-related cmake vars to preprocessors
target_compile_definitions(tests PRIVATE TEST_MAX_NUM_QUBIT_PERMUTATIONS=${TEST_MAX_NUM_QUBIT_PERMUTATIONS})
target_compile_definitions(tests PRIVATE TEST_MAX_NUM_SUPEROP_TARGETS=${TEST_MAX_NUM_SUPEROP_TARGETS})
target_compile_definitions(tests PRIVATE TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS=${TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS})
target_compile_definitions(tests PRIVATE TEST_ALL_DEPLOYMENTS=$<BOOL:${TEST_ALL_DEPLOYMENTS}>)


# let Catch2 register all tests with CTest
catch_discover_tests(tests)
11 changes: 9 additions & 2 deletions tests/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
#include <string>

#include "quest.h"
#include "tests/utils/config.hpp"
#include "tests/utils/cache.hpp"
#include "tests/utils/macros.hpp"
#include "tests/utils/random.hpp"
Expand Down Expand Up @@ -95,8 +96,14 @@ class startListener : public Catch::EventListenerBase {
std::cout << " GPU-sharing ok: " << env.isGpuSharingEnabled << std::endl;
std::cout << " cuQuantum: " << env.isCuQuantumEnabled << std::endl;
std::cout << " num nodes: " << env.numNodes << std::endl;
std::cout << " num qubits: " << getNumCachedQubits() << std::endl;
std::cout << " num qubit perms: " << TEST_MAX_NUM_QUBIT_PERMUTATIONS << std::endl;
std::cout << std::endl;

std::cout << "Testing configuration:" << std::endl;
std::cout << " test all deployments: " << getWhetherToTestAllDeployments() << std::endl;
std::cout << " num qubits in qureg: " << getNumCachedQubits() << std::endl;
std::cout << " max num qubit perms: " << getMaxNumTestedQubitPermutations() << std::endl;
std::cout << " max num superop targs: " << getMaxNumTestedSuperoperatorTargets() << std::endl;
std::cout << " num mixed-deploy reps: " << getNumTestedMixedDeploymentRepetitions() << std::endl;
std::cout << std::endl;

std::cout << "Tested Qureg deployments:" << std::endl;
Expand Down
15 changes: 8 additions & 7 deletions tests/unit/calculations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include "tests/utils/lists.hpp"
#include "tests/utils/macros.hpp"
#include "tests/utils/random.hpp"
#include "tests/utils/config.hpp"
#include "tests/utils/cache.hpp"
#include "tests/utils/measure.hpp"

Expand Down Expand Up @@ -412,7 +413,7 @@ TEST_CASE( "calcInnerProduct", TEST_CATEGORY LABEL_MIXED_DEPLOY_TAG ) {
qmatrix refDM = getRefDensmatr();
auto apiFunc = calcInnerProduct;

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC LABEL_DELIMITER LABEL_STATEVEC ) {

Expand Down Expand Up @@ -461,7 +462,7 @@ TEST_CASE( "calcFidelity", TEST_CATEGORY LABEL_MIXED_DEPLOY_TAG ) {
qmatrix refDM = getRefDensmatr();
auto apiFunc = calcFidelity;

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC LABEL_DELIMITER LABEL_STATEVEC ) {

Expand Down Expand Up @@ -503,7 +504,7 @@ TEST_CASE( "calcDistance", TEST_CATEGORY LABEL_MIXED_DEPLOY_TAG ) {
qmatrix refDM = getRefDensmatr();
auto apiFunc = calcDistance;

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC LABEL_DELIMITER LABEL_STATEVEC ) {

Expand Down Expand Up @@ -550,7 +551,7 @@ TEST_CASE( "calcExpecFullStateDiagMatr", TEST_CATEGORY LABEL_MIXED_DEPLOY_TAG )
qmatrix refMatr = getRandomDiagonalHermitian(getNumCachedQubits());
auto apiFunc = calcExpecFullStateDiagMatr;

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC ) {

Expand Down Expand Up @@ -579,7 +580,7 @@ TEST_CASE( "calcExpecNonHermitianFullStateDiagMatr", TEST_CATEGORY LABEL_MIXED_D
qmatrix refMatr = getRandomDiagonalMatrix(getPow2(getNumCachedQubits()));
auto apiFunc = calcExpecNonHermitianFullStateDiagMatr;

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC ) {

Expand Down Expand Up @@ -635,7 +636,7 @@ TEST_CASE( "calcExpecFullStateDiagMatrPower", TEST_CATEGORY LABEL_MIXED_DEPLOY_T

CAPTURE( exponent );

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC ) {

Expand Down Expand Up @@ -676,7 +677,7 @@ TEST_CASE( "calcExpecNonHermitianFullStateDiagMatrPower", TEST_CATEGORY LABEL_MI

CAPTURE( exponent );

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC ) {

Expand Down
7 changes: 4 additions & 3 deletions tests/unit/decoherence.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

#include "tests/utils/qvector.hpp"
#include "tests/utils/qmatrix.hpp"
#include "tests/utils/config.hpp"
#include "tests/utils/cache.hpp"
#include "tests/utils/compare.hpp"
#include "tests/utils/convert.hpp"
Expand Down Expand Up @@ -276,7 +277,7 @@ TEST_CASE( "mixKrausMap", TEST_CATEGORY ) {

SECTION( LABEL_CORRECTNESS ) {

int maxFlag = TEST_MAX_NUM_SUPEROP_TARGETS;
int maxFlag = getMaxNumTestedSuperoperatorTargets();
int numQubits = getNumCachedQubits();
int maxNumTargs = (maxFlag != 0 && numQubits > maxFlag)?
maxFlag : numQubits;
Expand Down Expand Up @@ -305,7 +306,7 @@ TEST_CASE( "mixSuperOp", TEST_CATEGORY ) {
SECTION( LABEL_CORRECTNESS ) {

int numQubits = getNumCachedQubits();
int maxFlag = TEST_MAX_NUM_SUPEROP_TARGETS;
int maxFlag = getMaxNumTestedSuperoperatorTargets();
int maxNumTargs = (maxFlag != 0 && numQubits > maxFlag)?
maxFlag : numQubits;

Expand Down Expand Up @@ -336,7 +337,7 @@ TEST_CASE( "mixQureg", TEST_CATEGORY LABEL_MIXED_DEPLOY_TAG ) {

CAPTURE( prob );

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_DENSMATR LABEL_DELIMITER LABEL_STATEVEC ) {

Expand Down
9 changes: 5 additions & 4 deletions tests/unit/operations.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <catch2/matchers/catch_matchers_string.hpp>
#include <catch2/generators/catch_generators_range.hpp>

#include "tests/utils/config.hpp"
#include "tests/utils/cache.hpp"
#include "tests/utils/qvector.hpp"
#include "tests/utils/qmatrix.hpp"
Expand Down Expand Up @@ -1738,7 +1739,7 @@ TEST_CASE( "multiplyFullStateDiagMatr", TEST_CATEGORY LABEL_MIXED_DEPLOY_TAG ) {
qmatrix refMatr = getRandomDiagonalMatrix(getPow2(numQubits));
auto apiFunc = multiplyFullStateDiagMatr;

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC ) {

Expand Down Expand Up @@ -1776,7 +1777,7 @@ TEST_CASE( "multiplyFullStateDiagMatrPower", TEST_CATEGORY LABEL_MIXED_DEPLOY_TA

CAPTURE( exponent );

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC ) {

Expand Down Expand Up @@ -1814,7 +1815,7 @@ TEST_CASE( "applyFullStateDiagMatr", TEST_CATEGORY LABEL_MIXED_DEPLOY_TAG ) {
qmatrix refMatr = getRandomDiagonalUnitary(numQubits);
auto apiFunc = applyFullStateDiagMatr;

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

SECTION( LABEL_STATEVEC ) {

Expand Down Expand Up @@ -1858,7 +1859,7 @@ TEST_CASE( "applyFullStateDiagMatrPower", TEST_CATEGORY LABEL_MIXED_DEPLOY_TAG )

CAPTURE( exponent );

GENERATE( range(0, TEST_NUM_MIXED_DEPLOYMENT_REPETITIONS) );
GENERATE( range(0, getNumTestedMixedDeploymentRepetitions()) );

if (!testRealExp)
setValidationEpsilon(0);
Expand Down
1 change: 1 addition & 0 deletions tests/utils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ target_sources(tests
PUBLIC
cache.cpp
compare.cpp
config.cpp
convert.cpp
evolve.cpp
linalg.cpp
Expand Down
Loading
Loading