diff --git a/.github/workflows/concrete-lib-compatibility.yml b/.github/workflows/concrete-lib-compatibility.yml index 7e875c285..19d7e90d2 100644 --- a/.github/workflows/concrete-lib-compatibility.yml +++ b/.github/workflows/concrete-lib-compatibility.yml @@ -54,7 +54,7 @@ jobs: pip install pytest export CONCRETE_PROJECT=/concrete make -B BUILD_DIR=/build build-initialized - make BUILD_DIR=/build test + make BUILD_DIR=/build run-tests - name: Send Slack Notification if: ${{ always() }} diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 9d1bfe7ba..c365909b9 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -127,7 +127,7 @@ jobs: rm -rf /build /opt/python/cp38-cp38/bin/pip install pytest sed "s/pytest/\/opt\/python\/cp38-cp38\/bin\/python -m pytest/g" -i Makefile - make CXX_COMPILER=/gcc7/bin/g++-7.5.0 CC_COMPILER=/gcc7/bin/gcc-7.5.0 CCACHE=ON Python3_EXECUTABLE=/opt/python/cp38-cp38/bin/python BUILD_DIR=/build all test + make CXX_COMPILER=/gcc7/bin/g++-7.5.0 CC_COMPILER=/gcc7/bin/gcc-7.5.0 CCACHE=ON Python3_EXECUTABLE=/opt/python/cp38-cp38/bin/python BUILD_DIR=/build all run-tests echo "Debug: ccache statistics (after the build):" ccache -s chmod -R ugo+rwx /tmp/KeySetCache @@ -272,7 +272,7 @@ jobs: id: tmpdir-path run: echo "::set-output name=TMPDIR_PATH::`echo $TMPDIR`" - # We do run test-check as part of the build, as they aren't that costly + # We do run run-check-tests as part of the build, as they aren't that costly # and will at least give minimum confidence that the compiler works in PRs - name: Build run: | @@ -280,7 +280,7 @@ jobs: echo "Debug: ccache statistics (prior to the build):" ccache -s export CONCRETE_PROJECT=${{ github.workspace }}/concrete - make all test-check + make all run-check-tests echo "Debug: ccache statistics (after the build):" ccache -s @@ -359,7 +359,7 @@ jobs: pip install pytest rm -rf /build export PYTHONPATH="" - make PARALLEL_EXECUTION_ENABLED=ON CCACHE=ON BUILD_DIR=/build test test-dataflow + make PARALLEL_EXECUTION_ENABLED=ON CCACHE=ON BUILD_DIR=/build run-tests run-end-to-end-dataflow-tests echo "Debug: ccache statistics (after the build):" ccache -s chmod -R ugo+rwx /tmp/KeySetCache diff --git a/.github/workflows/llvm-compatibility.yml b/.github/workflows/llvm-compatibility.yml index 0645b0d4b..3b4f7dcdc 100644 --- a/.github/workflows/llvm-compatibility.yml +++ b/.github/workflows/llvm-compatibility.yml @@ -39,7 +39,7 @@ jobs: run: | cd /compiler pip install pytest - make BUILD_DIR=/build test + make BUILD_DIR=/build run-tests - name: Update Custom LLVM uses: ad-m/github-push-action@master diff --git a/compiler/Makefile b/compiler/Makefile index 81ca3a3a7..62982250e 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -96,21 +96,7 @@ clientlib: build-initialized serverlib: build-initialized cmake --build $(BUILD_DIR) --target ConcretelangServerLib -build-benchmarks: build-initialized - cmake --build $(BUILD_DIR) --target end_to_end_benchmark -test-check: concretecompiler file-check not - $(BUILD_DIR)/bin/llvm-lit -v tests/ - -test-python: python-bindings concretecompiler - PYTHONPATH=${PYTHONPATH}:$(BUILD_DIR)/tools/concretelang/python_packages/concretelang_core LD_PRELOAD=$(BUILD_DIR)/lib/libConcretelangRuntime.so pytest -vs -m $(PYTHON_TESTS_MARKER) tests/python - -test-compiler-file-output: concretecompiler - pytest -vs tests/test_compiler_file_output - -test: test-check test-end-to-end-jit test-python test-compiler-file-output support-unit-test testlib-unit-test - -test-dataflow: test-end-to-end-jit-dfr test-end-to-end-jit-auto-parallelization GITHUB_URL=https://api.github.com/repos/zama-ai/concrete-compiler-internal GITHUB_URL_LIST_ARTIFACTS="${GITHUB_URL}/actions/artifacts" @@ -130,28 +116,40 @@ keysetcache_populated: keysetcache.zip du -sh ${KEYSETCACHEDEV} rm keysetcache.zip -# unit-test -clientlib-unit-test: build-clientlib-unit-test - $(BUILD_DIR)/bin/clientlib_unit_test +# test -build-clientlib-unit-test: - cmake --build $(BUILD_DIR) --target clientlib_unit_test +build-tests: build-unit-tests build-end-to-end-tests -testlib-unit-test: build-testlib-unit-test - $(BUILD_DIR)/tools/concretelang/tests/TestLib/testlib_unit_test +run-tests: run-check-tests run-unit-tests run-end-to-end-tests run-python-tests -build-testlib-unit-test: build-initialized - cmake --build $(BUILD_DIR) --target testlib_unit_test +## check-tests -support-unit-test: build-support-unit-test - $(BUILD_DIR)/tools/concretelang/tests/Support/support_unit_test +run-check-tests: concretecompiler file-check not + $(BUILD_DIR)/bin/llvm-lit -v tests/ -build-support-unit-test: build-initialized - cmake --build $(BUILD_DIR) --target support_unit_test +## unit-tests +build-unit-tests: + cmake --build $(BUILD_DIR) --target ConcretelangUnitTests -# test-end-to-end-jit +run-unit-tests: build-unit-tests + find $(BUILD_DIR)/tools/concretelang/tests/unit_tests -name unit_tests_concretelang* -executable -type f -exec {} \; + +## python-tests + +run-python-tests: python-bindings concretecompiler + PYTHONPATH=${PYTHONPATH}:$(BUILD_DIR)/tools/concretelang/python_packages/concretelang_core LD_PRELOAD=$(BUILD_DIR)/lib/libConcretelangRuntime.so pytest -vs -m $(PYTHON_TESTS_MARKER) tests/python + +test-compiler-file-output: concretecompiler + pytest -vs tests/test_compiler_file_output + +## end-to-end-tests + +build-end-to-end-tests: build-end-to-end-jit-test build-end-to-end-jit-clear-tensor build-end-to-end-jit-fhe build-end-to-end-jit-encrypted-tensor build-end-to-end-jit-fhelinalg build-end-to-end-jit-lambda + +run-end-to-end-tests: build-end-to-end-tests + find $(BUILD_DIR)/tools/concretelang/tests/end_to_end_tests -name end_to_end* -executable -type f -exec {} \; build-end-to-end-jit-test: build-initialized cmake --build $(BUILD_DIR) --target end_to_end_jit_test @@ -171,41 +169,23 @@ build-end-to-end-jit-fhelinalg: build-initialized build-end-to-end-jit-lambda: build-initialized cmake --build $(BUILD_DIR) --target end_to_end_jit_lambda -build-end-to-end-jit-dfr: build-initialized - cmake --build $(BUILD_DIR) --target end_to_end_jit_dfr +## end-to-end-dataflow-tests -build-end-to-end-jit-auto-parallelization: build-initialized +build-end-to-end-dataflow-tests: build-initialized + cmake --build $(BUILD_DIR) --target end_to_end_jit_dfr cmake --build $(BUILD_DIR) --target end_to_end_jit_auto_parallelization -build-end-to-end-jit: build-end-to-end-jit-test build-end-to-end-jit-clear-tensor build-end-to-end-jit-encrypted-tensor build-end-to-end-jit-fhe build-end-to-end-jit-fhelinalg build-end-to-end-jit-lambda +run-end-to-end-dataflow-tests: build-end-to-end-dataflow-tests + $(BUILD_DIR)/tools/concretelang/tests/end_to_end_tests/end_to_end_jit_dfr + $(BUILD_DIR)/tools/concretelang/tests/end_to_end_tests/end_to_end_jit_auto_parallelization -build-tests: build-end-to-end-jit build-support-unit-test build-testlib-unit-test +# benchmark -test-end-to-end-jit-test: build-end-to-end-jit-test - $(BUILD_DIR)/tools/concretelang/tests/unittest/end_to_end_jit_test +build-benchmarks: build-initialized + cmake --build $(BUILD_DIR) --target end_to_end_benchmark -test-end-to-end-jit-clear-tensor: build-end-to-end-jit-clear-tensor - $(BUILD_DIR)/tools/concretelang/tests/unittest/end_to_end_jit_clear_tensor - -test-end-to-end-jit-fhe: build-end-to-end-jit-fhe - $(BUILD_DIR)/tools/concretelang/tests/unittest/end_to_end_jit_fhe - -test-end-to-end-jit-encrypted-tensor: build-end-to-end-jit-encrypted-tensor - $(BUILD_DIR)/tools/concretelang/tests/unittest/end_to_end_jit_encrypted_tensor - -test-end-to-end-jit-fhelinalg: build-end-to-end-jit-fhelinalg - $(BUILD_DIR)/tools/concretelang/tests/unittest/end_to_end_jit_fhelinalg - -test-end-to-end-jit-lambda: build-initialized build-end-to-end-jit-lambda - $(BUILD_DIR)/tools/concretelang/tests/unittest/end_to_end_jit_lambda - -test-end-to-end-jit-dfr: build-end-to-end-jit-dfr - $(BUILD_DIR)/tools/concretelang/tests/unittest/end_to_end_jit_dfr - -test-end-to-end-jit-auto-parallelization: build-end-to-end-jit-auto-parallelization - $(BUILD_DIR)/tools/concretelang/tests/unittest/end_to_end_jit_auto_parallelization - -test-end-to-end-jit: test-end-to-end-jit-test test-end-to-end-jit-fhe test-end-to-end-jit-clear-tensor test-end-to-end-jit-encrypted-tensor test-end-to-end-jit-fhelinalg test-end-to-end-jit-lambda +run-benchmarks: build-benchmarks + $(BUILD_DIR)/bin/end_to_end_benchmark show-stress-tests-summary: @echo '------ Stress tests summary ------' @@ -277,15 +257,6 @@ python_lint: build-end-to-end-jit \ concretecompiler \ python-bindings \ - test-check \ - test-end-to-end-jit \ - test-end-to-end-jit-test \ - test-end-to-end-jit-clear-tensor \ - test-end-to-end-jit-encrypted-tensor \ - test-end-to-end-jit-fhelinalg \ - test-python \ - test \ - build-tests \ add-deps \ file-check \ not \ @@ -299,4 +270,13 @@ python_lint: python_lint \ python_format \ check_python_format \ - concrete-optimizer-lib + concrete-optimizer-lib \ + build-tests \ + run-tests \ + run-check-tests \ + build-unit-tests \ + run-unit-tests \ + run-python-tests \ + build-end-to-end-tests \ + build-end-to-end-dataflow-tests \ + run-end-to-end-dataflow-tests diff --git a/compiler/tests/CMakeLists.txt b/compiler/tests/CMakeLists.txt index ebfb4b6d9..e724ed868 100644 --- a/compiler/tests/CMakeLists.txt +++ b/compiler/tests/CMakeLists.txt @@ -1,13 +1,13 @@ if(CONCRETELANG_UNIT_TESTS OR CONCRETELANG_BENCHMARK) - add_subdirectory(fixture) + add_subdirectory(end_to_end_fixture) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}) endif() if(CONCRETELANG_UNIT_TESTS) - add_subdirectory(unittest) - add_subdirectory(Support) - add_subdirectory(TestLib) + add_subdirectory(unit_tests) + add_subdirectory(end_to_end_tests) endif() if(CONCRETELANG_BENCHMARK) - add_subdirectory(benchmarks) + add_subdirectory(end_to_end_benchmarks) endif() diff --git a/compiler/tests/Support/CMakeLists.txt b/compiler/tests/Support/CMakeLists.txt deleted file mode 100644 index 178096fcb..000000000 --- a/compiler/tests/Support/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -add_custom_target(ConcreteCompilerSupportTests) - -function(add_concretecompiler_support_test test_name) - add_unittest(ConcreteCompilerSupportTests ${test_name} ${ARGN}) - target_link_libraries(${test_name} PRIVATE ConcretelangClientLib) - set_source_files_properties(${ARGN} PROPERTIES COMPILE_FLAGS "-fno-rtti") -endfunction() - -add_concretecompiler_support_test( - support_unit_test - support_unit_test.cpp -) diff --git a/compiler/tests/TestLib/out/.keep b/compiler/tests/TestLib/out/.keep deleted file mode 100644 index 8b1378917..000000000 --- a/compiler/tests/TestLib/out/.keep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/add_lwe.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/add_lwe.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/add_lwe.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/add_lwe.mlir diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/add_lwe_int.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/add_lwe_int.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/add_lwe_int.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/add_lwe_int.mlir diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/apply_lookup_table.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/apply_lookup_table.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/apply_lookup_table.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/apply_lookup_table.mlir diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/apply_lookup_table_cst.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/apply_lookup_table_cst.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/apply_lookup_table_cst.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/apply_lookup_table_cst.mlir diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/identity.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/identity.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/identity.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/identity.mlir diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/mul_lwe_int.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/mul_lwe_int.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/mul_lwe_int.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/mul_lwe_int.mlir diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/neg_lwe.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/neg_lwe.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/neg_lwe.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/neg_lwe.mlir diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/tensor_exapand_collapse_shape.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/tensor_exapand_collapse_shape.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/tensor_exapand_collapse_shape.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/tensor_exapand_collapse_shape.mlir diff --git a/compiler/tests/Conversion/ConcreteToBConcrete/tensor_identity.mlir b/compiler/tests/check_tests/Conversion/ConcreteToBConcrete/tensor_identity.mlir similarity index 100% rename from compiler/tests/Conversion/ConcreteToBConcrete/tensor_identity.mlir rename to compiler/tests/check_tests/Conversion/ConcreteToBConcrete/tensor_identity.mlir diff --git a/compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/apply_lookup_table.mlir b/compiler/tests/check_tests/Conversion/FHELinalgToLinalg/apply_lookup_table.mlir similarity index 100% rename from compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/apply_lookup_table.mlir rename to compiler/tests/check_tests/Conversion/FHELinalgToLinalg/apply_lookup_table.mlir diff --git a/compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/apply_multi_lut_to_linalg.mlir b/compiler/tests/check_tests/Conversion/FHELinalgToLinalg/apply_multi_lut_to_linalg.mlir similarity index 100% rename from compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/apply_multi_lut_to_linalg.mlir rename to compiler/tests/check_tests/Conversion/FHELinalgToLinalg/apply_multi_lut_to_linalg.mlir diff --git a/compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/apply_multi_lut_to_linalg_broadcast.mlir b/compiler/tests/check_tests/Conversion/FHELinalgToLinalg/apply_multi_lut_to_linalg_broadcast.mlir similarity index 100% rename from compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/apply_multi_lut_to_linalg_broadcast.mlir rename to compiler/tests/check_tests/Conversion/FHELinalgToLinalg/apply_multi_lut_to_linalg_broadcast.mlir diff --git a/compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/concat.mlir b/compiler/tests/check_tests/Conversion/FHELinalgToLinalg/concat.mlir similarity index 100% rename from compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/concat.mlir rename to compiler/tests/check_tests/Conversion/FHELinalgToLinalg/concat.mlir diff --git a/compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/matmul.mlir b/compiler/tests/check_tests/Conversion/FHELinalgToLinalg/matmul.mlir similarity index 100% rename from compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/matmul.mlir rename to compiler/tests/check_tests/Conversion/FHELinalgToLinalg/matmul.mlir diff --git a/compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/neg_eint.mlir b/compiler/tests/check_tests/Conversion/FHELinalgToLinalg/neg_eint.mlir similarity index 100% rename from compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/neg_eint.mlir rename to compiler/tests/check_tests/Conversion/FHELinalgToLinalg/neg_eint.mlir diff --git a/compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/sum.mlir b/compiler/tests/check_tests/Conversion/FHELinalgToLinalg/sum.mlir similarity index 100% rename from compiler/tests/Conversion/FHELinalgToLinalg/FHELinalgToLinalg/sum.mlir rename to compiler/tests/check_tests/Conversion/FHELinalgToLinalg/sum.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/add_eint.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/add_eint.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/add_eint.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/add_eint.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/add_eint_int.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/add_eint_int.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/add_eint_int.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/add_eint_int.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/apply_univariate.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/apply_univariate.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/apply_univariate.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/apply_univariate.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/apply_univariate_cst.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/apply_univariate_cst.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/apply_univariate_cst.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/apply_univariate_cst.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/conv2d.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/conv2d.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/conv2d.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/conv2d.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/linalg_generic.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/linalg_generic.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/linalg_generic.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/linalg_generic.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/mul_eint_int.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/mul_eint_int.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/mul_eint_int.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/mul_eint_int.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/neg_eint.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/neg_eint.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/neg_eint.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/neg_eint.mlir diff --git a/compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/sub_int_eint.mlir b/compiler/tests/check_tests/Conversion/FHEToTFHE/sub_int_eint.mlir similarity index 100% rename from compiler/tests/Conversion/FHEToTFHE/FHEToTFHE/sub_int_eint.mlir rename to compiler/tests/check_tests/Conversion/FHEToTFHE/sub_int_eint.mlir diff --git a/compiler/tests/Conversion/TFHEGlobalParametrization/pbs_ks_bs.mlir b/compiler/tests/check_tests/Conversion/TFHEGlobalParametrization/pbs_ks_bs.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEGlobalParametrization/pbs_ks_bs.mlir rename to compiler/tests/check_tests/Conversion/TFHEGlobalParametrization/pbs_ks_bs.mlir diff --git a/compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/add_glwe.mlir b/compiler/tests/check_tests/Conversion/TFHEToConcrete/add_glwe.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/add_glwe.mlir rename to compiler/tests/check_tests/Conversion/TFHEToConcrete/add_glwe.mlir diff --git a/compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/add_glwe_int.mlir b/compiler/tests/check_tests/Conversion/TFHEToConcrete/add_glwe_int.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/add_glwe_int.mlir rename to compiler/tests/check_tests/Conversion/TFHEToConcrete/add_glwe_int.mlir diff --git a/compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/bootstrap.mlir b/compiler/tests/check_tests/Conversion/TFHEToConcrete/bootstrap.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/bootstrap.mlir rename to compiler/tests/check_tests/Conversion/TFHEToConcrete/bootstrap.mlir diff --git a/compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/glwe_from_table.mlir b/compiler/tests/check_tests/Conversion/TFHEToConcrete/glwe_from_table.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/glwe_from_table.mlir rename to compiler/tests/check_tests/Conversion/TFHEToConcrete/glwe_from_table.mlir diff --git a/compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/keyswitch.mlir b/compiler/tests/check_tests/Conversion/TFHEToConcrete/keyswitch.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/keyswitch.mlir rename to compiler/tests/check_tests/Conversion/TFHEToConcrete/keyswitch.mlir diff --git a/compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/mul_glwe_int.mlir b/compiler/tests/check_tests/Conversion/TFHEToConcrete/mul_glwe_int.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/mul_glwe_int.mlir rename to compiler/tests/check_tests/Conversion/TFHEToConcrete/mul_glwe_int.mlir diff --git a/compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/neg_glwe.mlir b/compiler/tests/check_tests/Conversion/TFHEToConcrete/neg_glwe.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/neg_glwe.mlir rename to compiler/tests/check_tests/Conversion/TFHEToConcrete/neg_glwe.mlir diff --git a/compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/sub_int_glwe.mlir b/compiler/tests/check_tests/Conversion/TFHEToConcrete/sub_int_glwe.mlir similarity index 100% rename from compiler/tests/Conversion/TFHEToConcrete/TFHEToConcrete/sub_int_glwe.mlir rename to compiler/tests/check_tests/Conversion/TFHEToConcrete/sub_int_glwe.mlir diff --git a/compiler/tests/Dialect/BConcrete/ops.mlir b/compiler/tests/check_tests/Dialect/BConcrete/ops.mlir similarity index 100% rename from compiler/tests/Dialect/BConcrete/ops.mlir rename to compiler/tests/check_tests/Dialect/BConcrete/ops.mlir diff --git a/compiler/tests/Dialect/Concrete/Concrete/no_optimization.mlir b/compiler/tests/check_tests/Dialect/Concrete/no_optimization.mlir similarity index 100% rename from compiler/tests/Dialect/Concrete/Concrete/no_optimization.mlir rename to compiler/tests/check_tests/Dialect/Concrete/no_optimization.mlir diff --git a/compiler/tests/Dialect/Concrete/Concrete/ops.mlir b/compiler/tests/check_tests/Dialect/Concrete/ops.mlir similarity index 100% rename from compiler/tests/Dialect/Concrete/Concrete/ops.mlir rename to compiler/tests/check_tests/Dialect/Concrete/ops.mlir diff --git a/compiler/tests/Dialect/Concrete/Concrete/optimization.mlir b/compiler/tests/check_tests/Dialect/Concrete/optimization.mlir similarity index 100% rename from compiler/tests/Dialect/Concrete/Concrete/optimization.mlir rename to compiler/tests/check_tests/Dialect/Concrete/optimization.mlir diff --git a/compiler/tests/Dialect/Concrete/Concrete/types.mlir b/compiler/tests/check_tests/Dialect/Concrete/types.mlir similarity index 100% rename from compiler/tests/Dialect/Concrete/Concrete/types.mlir rename to compiler/tests/check_tests/Dialect/Concrete/types.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/Analysis/MANP.mlir b/compiler/tests/check_tests/Dialect/FHE/Analysis/MANP.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/Analysis/MANP.mlir rename to compiler/tests/check_tests/Dialect/FHE/Analysis/MANP.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/Analysis/MANP_linalg.mlir b/compiler/tests/check_tests/Dialect/FHE/Analysis/MANP_linalg.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/Analysis/MANP_linalg.mlir rename to compiler/tests/check_tests/Dialect/FHE/Analysis/MANP_linalg.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/Analysis/MANP_tensor.mlir b/compiler/tests/check_tests/Dialect/FHE/Analysis/MANP_tensor.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/Analysis/MANP_tensor.mlir rename to compiler/tests/check_tests/Dialect/FHE/Analysis/MANP_tensor.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/eint_error_p_too_big.mlir b/compiler/tests/check_tests/Dialect/FHE/eint_error_p_too_big.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/eint_error_p_too_big.mlir rename to compiler/tests/check_tests/Dialect/FHE/eint_error_p_too_big.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/eint_error_p_too_small.mlir b/compiler/tests/check_tests/Dialect/FHE/eint_error_p_too_small.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/eint_error_p_too_small.mlir rename to compiler/tests/check_tests/Dialect/FHE/eint_error_p_too_small.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/folding.mlir b/compiler/tests/check_tests/Dialect/FHE/folding.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/folding.mlir rename to compiler/tests/check_tests/Dialect/FHE/folding.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_add_eint_err_inputs.mlir b/compiler/tests/check_tests/Dialect/FHE/op_add_eint_err_inputs.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_add_eint_err_inputs.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_add_eint_err_inputs.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_add_eint_err_result.mlir b/compiler/tests/check_tests/Dialect/FHE/op_add_eint_err_result.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_add_eint_err_result.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_add_eint_err_result.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_add_eint_int_err_inputs.mlir b/compiler/tests/check_tests/Dialect/FHE/op_add_eint_int_err_inputs.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_add_eint_int_err_inputs.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_add_eint_int_err_inputs.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_add_eint_int_err_result.mlir b/compiler/tests/check_tests/Dialect/FHE/op_add_eint_int_err_result.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_add_eint_int_err_result.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_add_eint_int_err_result.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_apply_lookup_table_bad_dimension.mlir b/compiler/tests/check_tests/Dialect/FHE/op_apply_lookup_table_bad_dimension.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_apply_lookup_table_bad_dimension.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_apply_lookup_table_bad_dimension.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_mul_eint_int_err_inputs.mlir b/compiler/tests/check_tests/Dialect/FHE/op_mul_eint_int_err_inputs.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_mul_eint_int_err_inputs.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_mul_eint_int_err_inputs.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_mul_eint_int_err_result.mlir b/compiler/tests/check_tests/Dialect/FHE/op_mul_eint_int_err_result.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_mul_eint_int_err_result.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_mul_eint_int_err_result.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_neg_eint_err_result.mlir b/compiler/tests/check_tests/Dialect/FHE/op_neg_eint_err_result.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_neg_eint_err_result.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_neg_eint_err_result.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_sub_int_eint_err_inputs.mlir b/compiler/tests/check_tests/Dialect/FHE/op_sub_int_eint_err_inputs.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_sub_int_eint_err_inputs.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_sub_int_eint_err_inputs.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/op_sub_int_eint_err_result.mlir b/compiler/tests/check_tests/Dialect/FHE/op_sub_int_eint_err_result.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/op_sub_int_eint_err_result.mlir rename to compiler/tests/check_tests/Dialect/FHE/op_sub_int_eint_err_result.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/ops.invalid.mlir b/compiler/tests/check_tests/Dialect/FHE/ops.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/ops.invalid.mlir rename to compiler/tests/check_tests/Dialect/FHE/ops.invalid.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/ops.mlir b/compiler/tests/check_tests/Dialect/FHE/ops.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/ops.mlir rename to compiler/tests/check_tests/Dialect/FHE/ops.mlir diff --git a/compiler/tests/Dialect/FHE/FHE/types.mlir b/compiler/tests/check_tests/Dialect/FHE/types.mlir similarity index 100% rename from compiler/tests/Dialect/FHE/FHE/types.mlir rename to compiler/tests/check_tests/Dialect/FHE/types.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/apply_mapped_lookup_table.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/apply_mapped_lookup_table.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/apply_mapped_lookup_table.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/apply_mapped_lookup_table.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/apply_multi_lookup_table.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/apply_multi_lookup_table.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/apply_multi_lookup_table.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/apply_multi_lookup_table.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/apply_multi_lut_broadcast.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/apply_multi_lut_broadcast.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/apply_multi_lut_broadcast.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/apply_multi_lut_broadcast.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/concat.invalid.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/concat.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/concat.invalid.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/concat.invalid.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/concat.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/concat.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/concat.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/concat.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/dot.invalid.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/dot.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/dot.invalid.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/dot.invalid.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/folding.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/folding.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/folding.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/folding.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/matmul.invalid.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/matmul.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/matmul.invalid.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/matmul.invalid.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/matmul.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/matmul.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/matmul.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/matmul.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/ops.invalid.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/ops.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/ops.invalid.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/ops.invalid.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/ops.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/ops.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/ops.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/ops.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/sum.invalid.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/sum.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/sum.invalid.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/sum.invalid.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/sum.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/sum.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/sum.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/sum.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/tensor-ops-to-linalg.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/tensor-ops-to-linalg.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/tensor-ops-to-linalg.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/tensor-ops-to-linalg.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/tiling.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/tiling.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/tiling.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/tiling.mlir diff --git a/compiler/tests/Dialect/FHELinalg/FHELinalg/transpose.invalid.mlir b/compiler/tests/check_tests/Dialect/FHELinalg/transpose.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/FHELinalg/FHELinalg/transpose.invalid.mlir rename to compiler/tests/check_tests/Dialect/FHELinalg/transpose.invalid.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_add_glwe.invalid.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_add_glwe.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_add_glwe.invalid.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_add_glwe.invalid.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_add_glwe.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_add_glwe.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_add_glwe.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_add_glwe.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_add_glwe_int.invalid.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_add_glwe_int.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_add_glwe_int.invalid.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_add_glwe_int.invalid.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_add_glwe_int.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_add_glwe_int.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_add_glwe_int.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_add_glwe_int.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_mul_glwe_int.invalid.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_mul_glwe_int.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_mul_glwe_int.invalid.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_mul_glwe_int.invalid.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_mul_glwe_int.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_mul_glwe_int.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_mul_glwe_int.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_mul_glwe_int.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_neg_glwe.invalid.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_neg_glwe.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_neg_glwe.invalid.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_neg_glwe.invalid.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_neg_glwe.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_neg_glwe.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_neg_glwe.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_neg_glwe.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_sub_int_glwe.invalid.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_sub_int_glwe.invalid.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_sub_int_glwe.invalid.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_sub_int_glwe.invalid.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/op_sub_int_glwe.mlir b/compiler/tests/check_tests/Dialect/TFHE/op_sub_int_glwe.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/op_sub_int_glwe.mlir rename to compiler/tests/check_tests/Dialect/TFHE/op_sub_int_glwe.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/ops.mlir b/compiler/tests/check_tests/Dialect/TFHE/ops.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/ops.mlir rename to compiler/tests/check_tests/Dialect/TFHE/ops.mlir diff --git a/compiler/tests/Dialect/TFHE/TFHE/types_glwe.mlir b/compiler/tests/check_tests/Dialect/TFHE/types_glwe.mlir similarity index 100% rename from compiler/tests/Dialect/TFHE/TFHE/types_glwe.mlir rename to compiler/tests/check_tests/Dialect/TFHE/types_glwe.mlir diff --git a/compiler/tests/benchmarks/CMakeLists.txt b/compiler/tests/end_to_end_benchmarks/CMakeLists.txt similarity index 100% rename from compiler/tests/benchmarks/CMakeLists.txt rename to compiler/tests/end_to_end_benchmarks/CMakeLists.txt diff --git a/compiler/tests/benchmarks/end_to_end_benchmark.cpp b/compiler/tests/end_to_end_benchmarks/end_to_end_benchmark.cpp similarity index 91% rename from compiler/tests/benchmarks/end_to_end_benchmark.cpp rename to compiler/tests/end_to_end_benchmarks/end_to_end_benchmark.cpp index 2c9297c94..22f1705ea 100644 --- a/compiler/tests/benchmarks/end_to_end_benchmark.cpp +++ b/compiler/tests/end_to_end_benchmarks/end_to_end_benchmark.cpp @@ -1,9 +1,9 @@ -#include "../fixture/EndToEndFixture.h" +#include "end_to_end_fixture/EndToEndFixture.h" #define BENCHMARK_HAS_CXX11 #include "llvm/Support/Path.h" #include -#include "../tests_tools/keySetCache.h" +#include "tests_tools/keySetCache.h" /// Benchmark time of the compilation template @@ -144,12 +144,14 @@ static int registerEndToEndTestFromFile(std::string prefix, std::string path) { } auto _ = { - registerEndToEndTestFromFile("FHE", "tests/fixture/end_to_end_fhe.yaml"), registerEndToEndTestFromFile( - "EncryptedTensor", "tests/fixture/end_to_end_encrypted_tensor.yaml"), - registerEndToEndTestFromFile("FHELinalg", - "tests/fixture/end_to_end_fhelinalg.yaml"), - registerEndToEndTestFromFile("FHELinalg", - "tests/fixture/end_to_end_programs.yaml")}; + "FHE", "tests/end_to_end_fixture/end_to_end_fhe.yaml"), + registerEndToEndTestFromFile( + "EncryptedTensor", + "tests/end_to_end_fixture/end_to_end_encrypted_tensor.yaml"), + registerEndToEndTestFromFile( + "FHELinalg", "tests/end_to_end_fixture/end_to_end_fhelinalg.yaml"), + registerEndToEndTestFromFile( + "FHELinalg", "tests/end_to_end_fixture/end_to_end_programs.yaml")}; BENCHMARK_MAIN(); diff --git a/compiler/tests/fixture/CMakeLists.txt b/compiler/tests/end_to_end_fixture/CMakeLists.txt similarity index 100% rename from compiler/tests/fixture/CMakeLists.txt rename to compiler/tests/end_to_end_fixture/CMakeLists.txt diff --git a/compiler/tests/fixture/EndToEndFixture.cpp b/compiler/tests/end_to_end_fixture/EndToEndFixture.cpp similarity index 100% rename from compiler/tests/fixture/EndToEndFixture.cpp rename to compiler/tests/end_to_end_fixture/EndToEndFixture.cpp diff --git a/compiler/tests/fixture/EndToEndFixture.h b/compiler/tests/end_to_end_fixture/EndToEndFixture.h similarity index 100% rename from compiler/tests/fixture/EndToEndFixture.h rename to compiler/tests/end_to_end_fixture/EndToEndFixture.h diff --git a/compiler/tests/fixture/end_to_end_encrypted_tensor.yaml b/compiler/tests/end_to_end_fixture/end_to_end_encrypted_tensor.yaml similarity index 100% rename from compiler/tests/fixture/end_to_end_encrypted_tensor.yaml rename to compiler/tests/end_to_end_fixture/end_to_end_encrypted_tensor.yaml diff --git a/compiler/tests/fixture/end_to_end_fhe.yaml b/compiler/tests/end_to_end_fixture/end_to_end_fhe.yaml similarity index 100% rename from compiler/tests/fixture/end_to_end_fhe.yaml rename to compiler/tests/end_to_end_fixture/end_to_end_fhe.yaml diff --git a/compiler/tests/fixture/end_to_end_fhelinalg.yaml b/compiler/tests/end_to_end_fixture/end_to_end_fhelinalg.yaml similarity index 100% rename from compiler/tests/fixture/end_to_end_fhelinalg.yaml rename to compiler/tests/end_to_end_fixture/end_to_end_fhelinalg.yaml diff --git a/compiler/tests/fixture/end_to_end_programs.yaml b/compiler/tests/end_to_end_fixture/end_to_end_programs.yaml similarity index 100% rename from compiler/tests/fixture/end_to_end_programs.yaml rename to compiler/tests/end_to_end_fixture/end_to_end_programs.yaml diff --git a/compiler/tests/unittest/CMakeLists.txt b/compiler/tests/end_to_end_tests/CMakeLists.txt similarity index 100% rename from compiler/tests/unittest/CMakeLists.txt rename to compiler/tests/end_to_end_tests/CMakeLists.txt diff --git a/compiler/tests/unittest/end_to_end_jit_auto_parallelization.cc b/compiler/tests/end_to_end_tests/end_to_end_jit_auto_parallelization.cc similarity index 100% rename from compiler/tests/unittest/end_to_end_jit_auto_parallelization.cc rename to compiler/tests/end_to_end_tests/end_to_end_jit_auto_parallelization.cc diff --git a/compiler/tests/unittest/end_to_end_jit_clear_tensor.cc b/compiler/tests/end_to_end_tests/end_to_end_jit_clear_tensor.cc similarity index 100% rename from compiler/tests/unittest/end_to_end_jit_clear_tensor.cc rename to compiler/tests/end_to_end_tests/end_to_end_jit_clear_tensor.cc diff --git a/compiler/tests/unittest/end_to_end_jit_dfr.cc b/compiler/tests/end_to_end_tests/end_to_end_jit_dfr.cc similarity index 100% rename from compiler/tests/unittest/end_to_end_jit_dfr.cc rename to compiler/tests/end_to_end_tests/end_to_end_jit_dfr.cc diff --git a/compiler/tests/unittest/end_to_end_jit_encrypted_tensor.cc b/compiler/tests/end_to_end_tests/end_to_end_jit_encrypted_tensor.cc similarity index 100% rename from compiler/tests/unittest/end_to_end_jit_encrypted_tensor.cc rename to compiler/tests/end_to_end_tests/end_to_end_jit_encrypted_tensor.cc diff --git a/compiler/tests/unittest/end_to_end_jit_fhe.cc b/compiler/tests/end_to_end_tests/end_to_end_jit_fhe.cc similarity index 92% rename from compiler/tests/unittest/end_to_end_jit_fhe.cc rename to compiler/tests/end_to_end_tests/end_to_end_jit_fhe.cc index 43712a2b0..67179b963 100644 --- a/compiler/tests/unittest/end_to_end_jit_fhe.cc +++ b/compiler/tests/end_to_end_tests/end_to_end_jit_fhe.cc @@ -3,11 +3,11 @@ #include #include -#include "../fixture/EndToEndFixture.h" -#include "../tests_tools/keySetCache.h" #include "concretelang/Support/JITSupport.h" #include "concretelang/Support/LibrarySupport.h" +#include "end_to_end_fixture/EndToEndFixture.h" #include "end_to_end_jit_test.h" +#include "tests_tools/keySetCache.h" template void compile_and_run(EndToEndDesc desc, LambdaSupport support) { @@ -98,13 +98,14 @@ std::string printEndToEndDesc(const testing::TestParamInfo desc) { class suite : public testing::TestWithParam {}; \ INSTANTIATE_END_TO_END_COMPILE_AND_RUN(suite, lambdasupport) \ INSTANTIATE_END_TO_END_TEST_SUITE_FROM_FILE( \ - FHE, suite, lambdasupport, "tests/fixture/end_to_end_fhe.yaml") \ + FHE, suite, lambdasupport, \ + "tests/end_to_end_fixture/end_to_end_fhe.yaml") \ INSTANTIATE_END_TO_END_TEST_SUITE_FROM_FILE( \ EncryptedTensor, suite, lambdasupport, \ - "tests/fixture/end_to_end_encrypted_tensor.yaml") \ + "tests/end_to_end_fixture/end_to_end_encrypted_tensor.yaml") \ INSTANTIATE_END_TO_END_TEST_SUITE_FROM_FILE( \ FHELinalg, suite, lambdasupport, \ - "tests/fixture/end_to_end_fhelinalg.yaml") + "tests/end_to_end_fixture/end_to_end_fhelinalg.yaml") /// Instantiate the test suite for Jit INSTANTIATE_END_TO_END_TEST_SUITE_FROM_ALL_TEST_FILES( diff --git a/compiler/tests/unittest/end_to_end_jit_fhelinalg.cc b/compiler/tests/end_to_end_tests/end_to_end_jit_fhelinalg.cc similarity index 100% rename from compiler/tests/unittest/end_to_end_jit_fhelinalg.cc rename to compiler/tests/end_to_end_tests/end_to_end_jit_fhelinalg.cc diff --git a/compiler/tests/unittest/end_to_end_jit_lambda.cc b/compiler/tests/end_to_end_tests/end_to_end_jit_lambda.cc similarity index 100% rename from compiler/tests/unittest/end_to_end_jit_lambda.cc rename to compiler/tests/end_to_end_tests/end_to_end_jit_lambda.cc diff --git a/compiler/tests/unittest/end_to_end_jit_test.cc b/compiler/tests/end_to_end_tests/end_to_end_jit_test.cc similarity index 100% rename from compiler/tests/unittest/end_to_end_jit_test.cc rename to compiler/tests/end_to_end_tests/end_to_end_jit_test.cc diff --git a/compiler/tests/end_to_end_tests/end_to_end_jit_test.h b/compiler/tests/end_to_end_tests/end_to_end_jit_test.h new file mode 100644 index 000000000..c02f3656e --- /dev/null +++ b/compiler/tests/end_to_end_tests/end_to_end_jit_test.h @@ -0,0 +1,65 @@ +#ifndef END_TO_END_JIT_TEST_H +#define END_TO_END_JIT_TEST_H + +#include + +#include "../tests_tools/keySetCache.h" + +#include "concretelang/Support/CompilerEngine.h" +#include "concretelang/Support/JITSupport.h" + +#include "globals.h" +#include "tests_tools/assert.h" + +// Jit-compiles the function specified by `func` from `src` and +// returns the corresponding lambda. Any compilation errors are caught +// and reult in abnormal termination. +inline llvm::Expected< + mlir::concretelang::ClientServer> +internalCheckedJit(llvm::StringRef src, llvm::StringRef func = "main", + bool useDefaultFHEConstraints = false, + bool dataflowParallelize = false, + bool loopParallelize = false) { + + auto options = + mlir::concretelang::CompilationOptions(std::string(func.data())); + if (useDefaultFHEConstraints) + options.v0FHEConstraints = defaultV0Constraints; + + // Allow loop parallelism in all cases + options.loopParallelize = loopParallelize; +#ifdef CONCRETELANG_PARALLEL_EXECUTION_ENABLED +#ifdef CONCRETELANG_PARALLEL_TESTING_ENABLED + options.dataflowParallelize = true; + options.loopParallelize = true; +#else + options.dataflowParallelize = dataflowParallelize; +#endif +#endif + + auto lambdaOrErr = + mlir::concretelang::ClientServer::create( + src, options, getTestKeySetCache(), mlir::concretelang::JITSupport()); + + return lambdaOrErr; +} + +// Shorthands to create integer literals of a specific type +static inline uint8_t operator"" _u8(unsigned long long int v) { return v; } +static inline uint16_t operator"" _u16(unsigned long long int v) { return v; } +static inline uint32_t operator"" _u32(unsigned long long int v) { return v; } +static inline uint64_t operator"" _u64(unsigned long long int v) { return v; } + +// Evaluates to the number of elements of a statically initialized +// array +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) + +// Wrapper around `internalCheckedJit` that causes +// `ASSERT_EXPECTED_SUCCESS` to use the file and line number of the +// caller instead of `internalCheckedJit`. +#define checkedJit(VARNAME, ...) \ + auto VARNAMEOrErr = internalCheckedJit(__VA_ARGS__); \ + ASSERT_EXPECTED_SUCCESS(VARNAMEOrErr); \ + auto VARNAME = std::move(*VARNAMEOrErr); + +#endif diff --git a/compiler/tests/unittest/globals.cc b/compiler/tests/end_to_end_tests/globals.cc similarity index 100% rename from compiler/tests/unittest/globals.cc rename to compiler/tests/end_to_end_tests/globals.cc diff --git a/compiler/tests/unittest/globals.h b/compiler/tests/end_to_end_tests/globals.h similarity index 100% rename from compiler/tests/unittest/globals.h rename to compiler/tests/end_to_end_tests/globals.h diff --git a/compiler/tests/unittest/end_to_end_jit_test.h b/compiler/tests/tests_tools/assert.h similarity index 62% rename from compiler/tests/unittest/end_to_end_jit_test.h rename to compiler/tests/tests_tools/assert.h index 20e4f719c..4486fe431 100644 --- a/compiler/tests/unittest/end_to_end_jit_test.h +++ b/compiler/tests/tests_tools/assert.h @@ -1,15 +1,9 @@ -#ifndef END_TO_END_JIT_TEST_H -#define END_TO_END_JIT_TEST_H +#ifndef UINT_TESTS_COMMON_ASSERT_H +#define UINT_TESTS_COMMON_ASSERT_H +#include "llvm/ADT/StringExtras.h" #include -#include "../tests_tools/keySetCache.h" - -#include "concretelang/Support/CompilerEngine.h" -#include "concretelang/Support/JITSupport.h" - -#include "globals.h" - #define ASSERT_LLVM_ERROR(err) \ if (err) { \ ASSERT_TRUE(false) << llvm::toString(err); \ @@ -95,7 +89,8 @@ static bool assert_expected_value(llvm::Expected &&val, const V &exp) { #define ASSERT_EXPECTED_VALUE(val, exp) \ do { \ if (!assert_expected_value(val, exp)) { \ - GTEST_FATAL_FAILURE_("Expected with wrong value"); \ + GTEST_FATAL_FAILURE_("Expected with wrong value") \ + << llvm::toString(val.takeError()); \ } \ } while (0) @@ -106,55 +101,21 @@ static bool assert_expected_value(llvm::Expected &&val, const V &exp) { }; \ ASSERT_EQ(val.value(), exp); -// Jit-compiles the function specified by `func` from `src` and -// returns the corresponding lambda. Any compilation errors are caught -// and reult in abnormal termination. -inline llvm::Expected< - mlir::concretelang::ClientServer> -internalCheckedJit(llvm::StringRef src, llvm::StringRef func = "main", - bool useDefaultFHEConstraints = false, - bool dataflowParallelize = false, - bool loopParallelize = false) { +#define ASSERT_ASSIGN_OUTCOME_VALUE(ident, val) \ + auto ident__ = val; \ + if (!ident__.has_value()) { \ + std::string msg = "Outcome failure " + ident__.error().mesg; \ + GTEST_FATAL_FAILURE_(msg.c_str()); \ + } \ + auto ident = std::move(ident__.value()); - auto options = - mlir::concretelang::CompilationOptions(std::string(func.data())); - if (useDefaultFHEConstraints) - options.v0FHEConstraints = defaultV0Constraints; - - // Allow loop parallelism in all cases - options.loopParallelize = loopParallelize; -#ifdef CONCRETELANG_PARALLEL_EXECUTION_ENABLED -#ifdef CONCRETELANG_PARALLEL_TESTING_ENABLED - options.dataflowParallelize = true; - options.loopParallelize = true; -#else - options.dataflowParallelize = dataflowParallelize; -#endif -#endif - - auto lambdaOrErr = - mlir::concretelang::ClientServer::create( - src, options, getTestKeySetCache(), mlir::concretelang::JITSupport()); - - return lambdaOrErr; -} - -// Shorthands to create integer literals of a specific type -static inline uint8_t operator"" _u8(unsigned long long int v) { return v; } -static inline uint16_t operator"" _u16(unsigned long long int v) { return v; } -static inline uint32_t operator"" _u32(unsigned long long int v) { return v; } -static inline uint64_t operator"" _u64(unsigned long long int v) { return v; } - -// Evaluates to the number of elements of a statically initialized -// array -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) - -// Wrapper around `internalCheckedJit` that causes -// `ASSERT_EXPECTED_SUCCESS` to use the file and line number of the -// caller instead of `internalCheckedJit`. -#define checkedJit(VARNAME, ...) \ - auto VARNAMEOrErr = internalCheckedJit(__VA_ARGS__); \ - ASSERT_EXPECTED_SUCCESS(VARNAMEOrErr); \ - auto VARNAME = std::move(*VARNAMEOrErr); +#define ASSERT_OUTCOME_HAS_VALUE(val) \ + { \ + auto tmp = val; \ + if (!tmp.has_value()) { \ + std::string msg = "Outcome failure " + tmp.error().mesg; \ + GTEST_FATAL_FAILURE_(msg.c_str()); \ + } \ + } #endif diff --git a/compiler/tests/unit_tests/CMakeLists.txt b/compiler/tests/unit_tests/CMakeLists.txt new file mode 100644 index 000000000..be358a95b --- /dev/null +++ b/compiler/tests/unit_tests/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(concretelang) diff --git a/compiler/tests/unit_tests/concretelang/CMakeLists.txt b/compiler/tests/unit_tests/concretelang/CMakeLists.txt new file mode 100644 index 000000000..a8e616428 --- /dev/null +++ b/compiler/tests/unit_tests/concretelang/CMakeLists.txt @@ -0,0 +1,4 @@ +add_custom_target(ConcretelangUnitTests) + +add_subdirectory(ClientLib) +add_subdirectory(TestLib) diff --git a/compiler/tests/unit_tests/concretelang/ClientLib/CMakeLists.txt b/compiler/tests/unit_tests/concretelang/ClientLib/CMakeLists.txt new file mode 100644 index 000000000..bda851800 --- /dev/null +++ b/compiler/tests/unit_tests/concretelang/ClientLib/CMakeLists.txt @@ -0,0 +1,20 @@ +add_custom_target(ConcretelangClientlibTests) + +add_dependencies(ConcretelangUnitTests ConcretelangClientlibTests) + +add_unittest( + ConcretelangClientlibTests + + unit_tests_concretelang_clientlib + + ClientParameters.cpp + KeySet.cpp +) + +target_link_libraries( + unit_tests_concretelang_clientlib + + PRIVATE + ConcretelangClientLib + ConcretelangSupport +) diff --git a/compiler/tests/Support/support_unit_test.cpp b/compiler/tests/unit_tests/concretelang/ClientLib/ClientParameters.cpp similarity index 79% rename from compiler/tests/Support/support_unit_test.cpp rename to compiler/tests/unit_tests/concretelang/ClientLib/ClientParameters.cpp index dd9fcb0ef..9e7e06faa 100644 --- a/compiler/tests/Support/support_unit_test.cpp +++ b/compiler/tests/unit_tests/concretelang/ClientLib/ClientParameters.cpp @@ -1,8 +1,8 @@ #include -#include "../unittest/end_to_end_jit_test.h" #include "concretelang/ClientLib/ClientParameters.h" #include "concretelang/ClientLib/EncryptedArguments.h" +#include "tests_tools/assert.h" namespace clientlib = concretelang::clientlib; @@ -32,25 +32,27 @@ TEST(Support, client_parameters_json_serde) { }; params0.keyswitchKeys = {{"ksk_v0", { - /*.inputSecretKeyID = */ clientlib::BIG_KEY, - /*.outputSecretKeyID = */ clientlib::SMALL_KEY, + /*.inputSecretKeyID = */ + clientlib::BIG_KEY, + /*.outputSecretKeyID = */ + clientlib::SMALL_KEY, /*.level = */ 1, /*.baseLog = */ 2, /*.variance = */ 3, }}}; params0.inputs = { { - /*.encryption = */ {{clientlib::SMALL_KEY, 0.01, {4}}}, + /*.encryption = */ {{clientlib::SMALL_KEY, 0.00, {4}}}, /*.shape = */ {32, {1, 2, 3, 4}, 1 * 2 * 3 * 4}, }, { - /*.encryption = */ {{clientlib::SMALL_KEY, 0.03, {5}}}, + /*.encryption = */ {{clientlib::SMALL_KEY, 0.00, {5}}}, /*.shape = */ {8, {4, 4, 4, 4}, 4 * 4 * 4 * 4}, }, }; params0.outputs = { { - /*.encryption = */ {{clientlib::SMALL_KEY, 0.03, {5}}}, + /*.encryption = */ {{clientlib::SMALL_KEY, 0.00, {5}}}, /*.shape = */ {8, {4, 4, 4, 4}, 4 * 4 * 4 * 4}, }, }; diff --git a/compiler/tests/unit_tests/concretelang/ClientLib/KeySet.cpp b/compiler/tests/unit_tests/concretelang/ClientLib/KeySet.cpp new file mode 100644 index 000000000..d8c143209 --- /dev/null +++ b/compiler/tests/unit_tests/concretelang/ClientLib/KeySet.cpp @@ -0,0 +1,100 @@ +#include + +#include "concretelang/ClientLib/ClientParameters.h" +#include "concretelang/ClientLib/EncryptedArguments.h" +#include "concretelang/Support/V0Curves.h" +#include "tests_tools/assert.h" + +namespace clientlib = concretelang::clientlib; + +// Define a fixture for instantiate test with client parameters +class ClientParametersTest + : public ::testing::TestWithParam { +protected: + clientlib::ClientParameters clientParameters; +}; + +// Test case encrypt and decrypt +TEST_P(ClientParametersTest, encrypt_decrypt) { + + auto clientParameters = GetParam(); + + // Generate the client keySet + ASSERT_ASSIGN_OUTCOME_VALUE( + keySet, clientlib::KeySet::generate(clientParameters, 0, 0)); + + // Allocate the ciphertext + uint64_t *ciphertext = nullptr; + uint64_t size = 0; + ASSERT_OUTCOME_HAS_VALUE(keySet->allocate_lwe(0, &ciphertext, size)); + + // Encrypt + uint64_t input = 3; + ASSERT_OUTCOME_HAS_VALUE(keySet->encrypt_lwe(0, ciphertext, input)); + + // Decrypt + uint64_t output; + ASSERT_OUTCOME_HAS_VALUE(keySet->decrypt_lwe(0, ciphertext, output)); + + ASSERT_EQ(input, output) << "decrypted value differs than the encrypted one"; +} + +/////////////////////////////////////////////////////////////////////////////// +/// Instantiate test suite with generated client parameters /////////////////// +/////////////////////////////////////////////////////////////////////////////// + +/// Create a client parameters with just one secret key of `dimension` and with +/// one input scalar gate and one output scalar gate on the same key +clientlib::ClientParameters +generateClientParameterOneScalarOneScalar(clientlib::LweDimension dimension, + clientlib::Precision precision) { + // One secret key with the given dimension + clientlib::ClientParameters params; + params.secretKeys.insert({clientlib::SMALL_KEY, {/*.dimension =*/dimension}}); + // One input and output encryption gate on the same secret key and encoded + // with the same precision + clientlib::EncryptionGate encryption; + encryption.secretKeyID = clientlib::SMALL_KEY; + encryption.encoding.precision = precision; + clientlib::CircuitGate gate; + gate.encryption = encryption; + params.inputs.push_back(gate); + params.outputs.push_back(gate); + return params; +} + +std::vector generateAllParameters() { + // All lwe dimensions to test + std::vector lweDimensions{ + 1 << 9, 1 << 10, 1 << 11, 1 << 12, 1 << 13, + }; + + // All precision to test + std::vector precisions(8, 0); + llvm::for_each(llvm::enumerate(precisions), + [](auto p) { p.value() = p.index() + 1; }); + + // All client parameters to test + std::vector parameters; + + for (auto dimension : lweDimensions) { + for (auto precision : precisions) { + parameters.push_back( + generateClientParameterOneScalarOneScalar(dimension, precision)); + } + } + + return parameters; +} + +INSTANTIATE_TEST_SUITE_P( + OneScalarOnScalar, ClientParametersTest, + ::testing::ValuesIn(generateAllParameters()), + [](const testing::TestParamInfo info) { + auto cp = info.param; + auto input_0 = cp.inputs[0]; + return std::string("lweDimension_") + + std::to_string(cp.lweSecretKeyParam(input_0).value().dimension) + + "_precision_" + + std::to_string(input_0.encryption.getValue().encoding.precision); + }); diff --git a/compiler/tests/TestLib/CMakeLists.txt b/compiler/tests/unit_tests/concretelang/TestLib/CMakeLists.txt similarity index 68% rename from compiler/tests/TestLib/CMakeLists.txt rename to compiler/tests/unit_tests/concretelang/TestLib/CMakeLists.txt index 1104245d7..24888c1bf 100644 --- a/compiler/tests/TestLib/CMakeLists.txt +++ b/compiler/tests/unit_tests/concretelang/TestLib/CMakeLists.txt @@ -1,19 +1,22 @@ add_custom_target(ConcreteCompilerLibTests) +add_dependencies(ConcretelangUnitTests ConcreteCompilerLibTests) + function(add_concretecompiler_lib_test test_name) add_unittest(ConcreteCompilerLibTests ${test_name} ${ARGN}) target_link_libraries(${test_name} PRIVATE ConcretelangSupport) set_source_files_properties(${ARGN} PROPERTIES COMPILE_FLAGS "-fno-rtti") endfunction() -if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") link_libraries( + # usefull for old gcc versions - -Wl,--allow-multiple-definition # static concrete-optimizer and concrete shares some code + -Wl,--allow-multiple-definition #  static concrete-optimizer and concrete shares some code ) endif() add_concretecompiler_lib_test( - testlib_unit_test + unit_tests_concretelang_testlib testlib_unit_test.cpp ) diff --git a/compiler/tests/TestLib/call_2t_1s_with_header-client.h.generated b/compiler/tests/unit_tests/concretelang/TestLib/call_2t_1s_with_header-client.h.generated similarity index 100% rename from compiler/tests/TestLib/call_2t_1s_with_header-client.h.generated rename to compiler/tests/unit_tests/concretelang/TestLib/call_2t_1s_with_header-client.h.generated diff --git a/compiler/tests/TestLib/testlib_unit_test.cpp b/compiler/tests/unit_tests/concretelang/TestLib/testlib_unit_test.cpp similarity index 98% rename from compiler/tests/TestLib/testlib_unit_test.cpp rename to compiler/tests/unit_tests/concretelang/TestLib/testlib_unit_test.cpp index 1638dbf65..5f14e87b2 100644 --- a/compiler/tests/TestLib/testlib_unit_test.cpp +++ b/compiler/tests/unit_tests/concretelang/TestLib/testlib_unit_test.cpp @@ -6,11 +6,14 @@ #include "boost/outcome.h" -#include "../unittest/end_to_end_jit_test.h" #include "concretelang/ClientLib/ClientLambda.h" #include "concretelang/Common/Error.h" +#include "concretelang/Support/CompilerEngine.h" #include "concretelang/TestLib/TestTypedLambda.h" +#include "tests_tools/assert.h" +#include "tests_tools/keySetCache.h" + #include "call_2t_1s_with_header-client.h.generated" const std::string FUNCNAME = "main"; @@ -48,7 +51,7 @@ compile(std::string outputLib, std::string source, } static const std::string THIS_TEST_DIRECTORY = "tests/TestLib"; -static const std::string OUT_DIRECTORY = THIS_TEST_DIRECTORY + "/out"; +static const std::string OUT_DIRECTORY = "/tmp"; template std::string outputLibFromThis(Info *info) { return OUT_DIRECTORY + "/" + std::string(info->name()); @@ -142,7 +145,7 @@ func @main(%arg0: !FHE.eint<7>, %arg1: !FHE.eint<7>) -> !FHE.eint<7> { continue; } auto res = lambda.call(a, b); - ASSERT_EQ_OUTCOME(res, a + b); + ASSERT_EQ_OUTCOME(res, (int64_t)a + b); } }