Skip to content

Update catch2 v3#1350

Merged
josephleekl merged 38 commits intomasterfrom
update-catch2-v3
Mar 11, 2026
Merged

Update catch2 v3#1350
josephleekl merged 38 commits intomasterfrom
update-catch2-v3

Conversation

@josephleekl
Copy link
Contributor

@josephleekl josephleekl commented Mar 2, 2026

Context:

Description of the Change:
Here we update Catch2 from v2.8 to v3.11.0.
Note for MPI tests we need a --order decl flag to ensure the tests are executed in declaration order, otherwise it will be randomized causing crash/hang.

Benefits:
Reduced CI build time - around 45min of CI time saved

LK CUDA C++ 18m22s -> 14m23s
LK-MPI-CUDA-C++: 22m25s->17m22s
LG-MPI-C++: 53m44s -> 48m24s
LG-C++: 40m33s -> 37m43s
LT-C++: 6m31s -> 4m45s
LQ-C++ (OMP-off, AVX-off): 12m51s -> 7m30s
LQ-C++ (OMP-on, AVX-off): 14m58s -> 8m30s
LQ-C++ (OMP-off, AVX-on): 13m59s -> 7m16s
LQ-C++ (blas-on): 13m3s -> 7m36s
LK-OMP-C++: 13m59s -> 12m17s
LK-multibackend-C++: 4m45s -> 3m41s

Possible Drawbacks:

Related GitHub Issues:

[sc-80319]

@josephleekl josephleekl changed the base branch from master to update-deps-feb2026 March 2, 2026 19:24
@codecov
Copy link

codecov bot commented Mar 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.59%. Comparing base (46c78e4) to head (3bbae4a).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1350      +/-   ##
==========================================
+ Coverage   95.73%   96.59%   +0.86%     
==========================================
  Files         243      329      +86     
  Lines       40936    47376    +6440     
==========================================
+ Hits        39190    45763    +6573     
+ Misses       1746     1613     -133     
Flag Coverage Δ
unit_tests 96.59% <100.00%> (+0.86%) ⬆️

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@josephleekl josephleekl added do not merge Do not merge PR until this label is removed ci:use-multi-gpu-runner Enable usage of Multi-GPU runner for this Pull Request ci:use-gpu-runner Enable usage of GPU runner for this Pull Request labels Mar 2, 2026
@josephleekl josephleekl marked this pull request as ready for review March 2, 2026 21:17
Copy link
Contributor

@jzaia18 jzaia18 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small comment, but it looks like elsewhere you use Catch::Matchers::Approx but for some files you have using Catch::Approx. There are more occurrences of this than just the 3 here

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the C++ test framework from Catch2 v2.x to Catch2 v3.11.0 across the repository, updating test runners, includes/macros, and CI/MPI invocation flags to keep test execution stable (notably for MPI tests).

Changes:

  • Bump Catch2 FetchContent tag to v3.11.0 and update CMake integration path (contribextras).
  • Migrate test runners to Catch::Session() and update test sources to Catch2 v3 modular headers/matchers (e.g., ContainsSubstring, Catch::Matchers::Approx).
  • Ensure MPI test execution order is deterministic by adding --order decl in Makefile and relevant GitHub Actions workflows.

Reviewed changes

Copilot reviewed 163 out of 163 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pennylane_lightning/core/utils/tests/runner_utils.cpp Switch utils test runner to Catch::Session() main for Catch2 v3
pennylane_lightning/core/utils/tests/mpi/runner_utils_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/utils/tests/mpi/Test_MPIManager.cpp Update Catch2 includes and string matcher (ContainsSubstring)
pennylane_lightning/core/utils/tests/Test_UtilLinearAlg.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/utils/tests/Test_Util.cpp Update Catch2 includes and string matcher (ContainsSubstring)
pennylane_lightning/core/utils/tests/Test_TypeTraits.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/utils/tests/Test_TestHelpersSparse.cpp Update Catch2 includes and string matcher (ContainsSubstring)
pennylane_lightning/core/utils/tests/Test_RuntimeInfo.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/utils/tests/Test_Error.cpp Update Catch2 includes and string matcher (ContainsSubstring)
pennylane_lightning/core/utils/tests/Test_ConstantUtil.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/utils/tests/Test_BitUtil.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/utils/cuda_utils/tests/runner_cuda_utils.cpp Switch CUDA utils test runner to Catch::Session() main
pennylane_lightning/core/utils/cuda_utils/tests/Test_LinearAlgebra.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/utils/TestHelpersSparse.hpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/utils/TestHelpers.hpp Replace monolithic Catch2 include with modular headers; update helper macros to ContainsSubstring; expose Catch::Approx
pennylane_lightning/core/simulators/lightning_tensor/utils/tncuda_utils/tests/runner_lightning_tensor_tncuda_utils.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_tensor/utils/tncuda_utils/tests/Test_TNCuda_utils.cpp Update Catch2 includes and string matcher (ContainsSubstring)
pennylane_lightning/core/simulators/lightning_tensor/tncuda/tests/runner_lightning_tensor_MPSTNCuda.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_tensor/tncuda/tests/Tests_MPSTNCuda.cpp Update Catch2 includes, generators, and string matcher usage
pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/tests/runner_lightning_tensor_observables.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/tests/Test_Observables_TNCudaOperators.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/tests/Test_Observables_TNCuda.cpp Update Catch2 includes and string matcher (ContainsSubstring)
pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/runner_lightning_tensor_measurements.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/Test_TNCuda_Var.cpp Update Catch2 includes (Approx/template macros/generators)
pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/Test_TNCuda_Measure.cpp Update Catch2 includes and migrate vector comparisons to Catch::Matchers::Approx
pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/Test_TNCuda_Expval.cpp Update Catch2 includes (Approx/template macros/generators/matchers)
pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/runner_lightning_tensor_gates.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/Test_TNCuda_Param.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/Test_TNCuda_NonParam.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/Test_TNCuda_MPO.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_tensor/tncuda/base/tests/runner_lightning_tensor_TNCudaBase.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_tensor/tncuda/base/tests/Tests_TNCudaBase.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/simulators/lightning_tensor/tensor/tncuda/tests/runner_lightning_tensor_TensorCuda.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_tensor/tensor/tncuda/tests/Tests_TensorCuda.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/utils/tests/runner_lightning_qubit_utils.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_qubit/utils/tests/Test_SparseLinAlg.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/utils/tests/Test_LinearAlgebra.cpp Update Catch2 includes and string matcher usage (ContainsSubstring)
pennylane_lightning/core/simulators/lightning_qubit/tests/runner_lightning_qubit.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_qubit/tests/Test_StateVectorLQubitManaged.cpp Update Catch2 includes/generators/matchers and ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/tests/Test_StateVectorLQubit.cpp Update Catch2 includes/generators/matchers and ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/observables/tests/runner_lightning_qubit_observables.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_qubit/observables/tests/Test_ObservablesLQubit.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/measurements/tests/runner_lightning_qubit_measurements.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_qubit/measurements/tests/Test_MeasurementsLQubitSparse.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/measurements/tests/Test_MeasurementsLQubit.cpp Update Catch2 includes (template/generators/matchers) and migrate to Catch::Matchers::Approx/ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/runner_lightning_qubit_gates.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_OpToMemberFuncPtr.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_KernelMap.cpp Update Catch2 includes and replace Contains alias with ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_Internal.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateIndices.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Sparse_Matrix.cpp Update Catch2 includes/generators/matchers and ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Param.cpp Update Catch2 includes/generators/matchers and ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Nonparam.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Matrix.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Inverse.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Generator.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_CompareKernels.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_DynamicDispatcher.cpp Update Catch2 includes/matchers and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_AVXTwoQubitGateHelpers.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_AVXSingleQubitGateHelpers.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/runner_lightning_qubit_catalyst.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/Test_LightningSimulator.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/Test_LightningMeasures.cpp Update Catch2 includes (Approx/test macros/matchers) and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/Test_LightningGradient.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_qubit/algorithms/tests/runner_lightning_qubit_algorithms.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_qubit/algorithms/tests/Test_VectorJacobianProduct.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_qubit/algorithms/tests/Test_AdjointJacobianLQubit.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/runner_lightning_kokkos_utils.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/mpi/runner_lightning_kokkos_utils_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/mpi/Test_MPIManagerKokkos.cpp Update Catch2 includes and string matcher (ContainsSubstring)
pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/Test_LinearAlgebra.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_kokkos/tests/runner_lightning_kokkos.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_kokkos/tests/mpi/runner_lightning_kokkos_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_kokkos/tests/mpi/Test_StateVectorKokkosMPI.cpp Update Catch2 includes/generators/matchers and ContainsSubstring
pennylane_lightning/core/simulators/lightning_kokkos/tests/Test_StateVectorLKokkos.cpp Update Catch2 includes/generators/matchers and ContainsSubstring
pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/runner_lightning_kokkos_observables.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/mpi/runner_lightning_kokkos_observables_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/mpi/Test_ObservablesKokkosMPI.cpp Update Catch2 includes (template macros + floating point matchers)
pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/Test_ObservablesKokkos.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/runner_lightning_kokkos_measurements.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/mpi/runner_lightning_kokkos_measurements_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/mpi/Test_StateVectorKokkosMPI_Measure.cpp Update Catch2 includes and migrate vector comparisons to Catch::Matchers::Approx and strings to ContainsSubstring
pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/Test_StateVectorKokkos_Var.cpp Update Catch2 includes (Approx/template macros)
pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/Test_StateVectorKokkos_Measure.cpp Update Catch2 includes/generators/vector matchers; migrate to Catch::Matchers::Approx
pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/Test_StateVectorKokkos_Expval.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/runner_lightning_kokkos_gates.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/mpi/runner_lightning_kokkos_gates_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/mpi/Test_StateVectorKokkosMPI_Param.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/mpi/Test_StateVectorKokkosMPI_NonParam.cpp Update Catch2 includes/matchers and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/mpi/Test_StateVectorKokkosMPI_Generator.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/Test_StateVectorKokkos_Param.cpp Update Catch2 includes/matchers and migrate to Catch::Matchers::Approx
pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/Test_StateVectorKokkos_NonParam.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/Test_StateVectorKokkos_Generator.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/runner_lightning_kokkos_catalyst.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/Test_LightningKokkosSimulator.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/Test_LightningKokkosMeasures.cpp Update Catch2 includes (Approx/test macros/matchers) and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/Test_LightningKokkosGradient.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_kokkos/bindings/LKokkosBindingsMPI.hpp Remove unused aliases; mark unused module param to avoid warnings
pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/runner_lightning_kokkos_algorithms.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/mpi/runner_lightning_kokkos_algorithms_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/mpi/Test_AdjointJacobianKokkosMPI.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/Test_AdjointJacobianKokkos.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/utils/tests/runner_lightning_gpu_utils.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_gpu/utils/tests/mpi/runner_lightning_gpu_utils_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_gpu/utils/tests/mpi/Test_MPIManagerGPU.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_gpu/utils/tests/mpi/Test_LinearAlgebraMPI.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/utils/tests/mpi/Test_CSRMatrix.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/utils/tests/Test_LinearAlgebra.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/tests/runner_lightning_gpu.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_gpu/tests/mpi/runner_lightning_gpu_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_gpu/tests/mpi/Test_StateVectorCudaMPI.cpp Update Catch2 includes/matchers and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_gpu/tests/Test_StateVectorCudaManaged.cpp Update Catch2 includes/matchers and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_gpu/observables/tests/runner_lightning_gpu_observables.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_gpu/observables/tests/mpi/runner_lightning_gpu_observables_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_gpu/observables/tests/mpi/Test_ObservablesGPUMPI.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/observables/tests/Test_ObservablesGPU.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/runner_lightning_gpu_measurements.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/mpi/runner_lightning_gpu_measurements_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/mpi/Test_StateVectorCudaMPI_Var.cpp Update Catch2 includes (Approx/template macros)
pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/mpi/Test_StateVectorCudaMPI_Measure.cpp Update Catch2 includes/vector matchers; migrate to Catch::Matchers::Approx
pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/mpi/Test_StateVectorCudaMPI_Expval.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/Test_StateVectorCudaManaged_Var.cpp Update Catch2 includes (Approx/template macros)
pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/Test_StateVectorCudaManaged_Measure.cpp Update Catch2 includes/vector matchers; migrate to Catch::Matchers::Approx
pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/Test_StateVectorCudaManaged_Expval.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/gates/tests/runner_lightning_gpu_gates.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_gpu/gates/tests/mpi/mpi_runner_lightning_gpu_gates.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_gpu/gates/tests/mpi/Test_StateVectorCudaMPI_Param.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_gpu/gates/tests/mpi/Test_StateVectorCudaMPI_NonParam.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_gpu/gates/tests/mpi/Test_StateVectorCudaMPI_Generators.cpp Update Catch2 include to template test macros header
pennylane_lightning/core/simulators/lightning_gpu/gates/tests/Test_StateVectorCudaManaged_Param.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_gpu/gates/tests/Test_StateVectorCudaManaged_NonParam.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_gpu/gates/tests/Test_StateVectorCudaManaged_Generators.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/runner_lightning_gpu_catalyst.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/Test_LightningGPUSimulator.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/Test_LightningGPUMeasures.cpp Update Catch2 includes (Approx/test macros/matchers) and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/Test_LightningGPUGradient.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/runner_lightning_gpu_algorithms.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/mpi/runner_lightning_gpu_algorithms_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/mpi/Test_AdjointJacobianGPUMPI.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/Test_AdjointJacobianGPU.cpp Update Catch2 includes (template macros/generators)
pennylane_lightning/core/simulators/base/tests/runner_base.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/simulators/base/tests/Test_StateVectorBase.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/observables/tests/runner_observables.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/observables/tests/mpi/runner_observables_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/observables/tests/mpi/Test_ObservablesMPI.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/observables/tests/Test_Observables.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/measurements/tests/runner_measurements.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/measurements/tests/mpi/runner_measurements_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/measurements/tests/mpi/Test_MeasurementsBaseMPI.cpp Update Catch2 includes/vector matchers and migrate to Catch::Matchers::Approx
pennylane_lightning/core/measurements/tests/Test_MeasurementsBase.cpp Update Catch2 includes/matchers and migrate to Catch::Matchers::Approx/ContainsSubstring
pennylane_lightning/core/catalyst/tests/runner_catalyst.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/catalyst/tests/Test_LightningQubitManager.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/catalyst/tests/Test_LightningDriver.cpp Update Catch2 includes and migrate to ContainsSubstring
pennylane_lightning/core/bindings/BindingsMPI.hpp Mark unused module param to avoid warnings
pennylane_lightning/core/algorithms/tests/runner_algorithms.cpp Switch runner to Catch::Session() main
pennylane_lightning/core/algorithms/tests/mpi/runner_algorithms_mpi.cpp Update MPI runner include to Catch2 v3 session header
pennylane_lightning/core/algorithms/tests/mpi/Test_AdjointJacobianMPI.cpp Update Catch2 include to catch_test_macros.hpp
pennylane_lightning/core/algorithms/tests/Test_AdjointJacobian.cpp Update Catch2 includes (test macros + generators)
cmake/support_tests.cmake Bump Catch2 to v3.11.0 and update Catch.cmake path (extras)
Makefile Add --order decl to MPI test invocations
.github/workflows/tests_lkmpi_cuda_cpp.yml Add --order decl to MPI runner execution in CI
.github/workflows/tests_lgpumpi_cpp.yml Add --order decl to MPI runner execution in CI
.github/CHANGELOG.md Document Catch2 v3.11 upgrade in changelog

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@josephleekl josephleekl requested a review from jzaia18 March 5, 2026 16:20
Base automatically changed from update-deps-feb2026 to master March 6, 2026 19:35
Copy link
Member

@maliasadi maliasadi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Just a few minor comments before approving the PR :)

@josephleekl josephleekl requested a review from maliasadi March 9, 2026 22:29
@josephleekl josephleekl added the ci:build_wheels Activate wheel building. label Mar 11, 2026
@josephleekl josephleekl merged commit d16cc1d into master Mar 11, 2026
188 of 190 checks passed
@josephleekl josephleekl deleted the update-catch2-v3 branch March 11, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:build_wheels Activate wheel building. ci:use-gpu-runner Enable usage of GPU runner for this Pull Request ci:use-multi-gpu-runner Enable usage of Multi-GPU runner for this Pull Request do not merge Do not merge PR until this label is removed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants