Files
concrete/tests/common/compilation/test_artifacts.py
Arthur Meyre 48aaed9ee8 refactor: disallow tuple input in inputset for 1-input functions
- handle the case properly once we add tuple support in #772

closes #971
2021-12-02 11:59:42 +01:00

49 lines
1.7 KiB
Python

"""Test file for compilation artifacts"""
import tempfile
from pathlib import Path
from concrete.common.compilation import CompilationArtifacts
from concrete.common.data_types.integers import UnsignedInteger
from concrete.common.values import EncryptedScalar
from concrete.numpy.compile import compile_numpy_function
def test_artifacts_export(default_compilation_configuration):
"""Test function to check exporting compilation artifacts"""
def function(x):
return x + 42
with tempfile.TemporaryDirectory() as tmp:
output_directory = Path(tmp)
artifacts = CompilationArtifacts(output_directory)
compile_numpy_function(
function,
{"x": EncryptedScalar(UnsignedInteger(7))},
range(10),
default_compilation_configuration,
compilation_artifacts=artifacts,
)
artifacts.export()
assert output_directory.joinpath("environment.txt").exists()
assert output_directory.joinpath("requirements.txt").exists()
assert output_directory.joinpath("function.txt").exists()
assert output_directory.joinpath("parameters.txt").exists()
assert output_directory.joinpath("1.initial.graph.txt").exists()
assert output_directory.joinpath("1.initial.graph.png").exists()
assert output_directory.joinpath("2.final.graph.txt").exists()
assert output_directory.joinpath("2.final.graph.png").exists()
assert output_directory.joinpath("bounds.txt").exists()
assert output_directory.joinpath("mlir.txt").exists()
# format of those files might change in the future
# so it is sufficient to test their existance