#include #include #include "tests.h" static bool has_arg(int argc, char** argv, const char* name) { for (int i = 1; i < argc; i++) if (strcmp(argv[i], name) == 0) return true; return false; } int main(int argc, char** argv) { if (has_arg(argc, argv, "help") || has_arg(argc, argv, "--help") || has_arg(argc, argv, "-h")) { printf("Usage: tester [clifford|non-clifford|custom|kernels|simd|noise|threading|all]\n"); return 0; } bool all = argc < 2 || has_arg(argc, argv, "all"); printf("psi %s test suite\n", psi_version()); if (all || has_arg(argc, argv, "clifford")) run_clifford_tests(); if (all || has_arg(argc, argv, "non-clifford")) run_non_clifford_tests(); if (all || has_arg(argc, argv, "custom")) run_custom_tests(); if (all || has_arg(argc, argv, "kernels")) run_kernel_tests(); if (all || has_arg(argc, argv, "simd")) run_simd_tests(); if (all || has_arg(argc, argv, "noise")) run_noise_tests(); if (all || has_arg(argc, argv, "threading")) run_threading_tests(); return psi_test_summary(); }