diff options
Diffstat (limited to 'pkgs/development/compilers/souffle/tests.nix')
-rw-r--r-- | pkgs/development/compilers/souffle/tests.nix | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/development/compilers/souffle/tests.nix b/pkgs/development/compilers/souffle/tests.nix new file mode 100644 index 0000000000000..82b4fa489dae4 --- /dev/null +++ b/pkgs/development/compilers/souffle/tests.nix @@ -0,0 +1,36 @@ +{ stdenv, lib, souffle, runCommand }: +let + simpleTest = { name, commands }: + stdenv.mkDerivation { + inherit name; + meta.timeout = 60; + buildCommand = '' + echo -e '.decl A(X: number)\n.output A\nA(1).' > A.dl + ${commands} + [ "$(cat A.csv)" = "1" ] + touch $out + ''; + }; +in { + interpret = simpleTest { + name = "souffle-test-interpret"; + commands = "${souffle}/bin/souffle A.dl"; + }; + + compile-in-one-step = simpleTest { + name = "souffle-test-compile-in-one-step"; + commands = '' + ${souffle}/bin/souffle -o A A.dl + ./A + ''; + }; + + compile-in-two-steps = simpleTest { + name = "souffle-test-compile-in-two-steps"; + commands = '' + ${souffle}/bin/souffle -g A.cpp A.dl + ${souffle}/bin/souffle-compile.py A.cpp -o A + ./A + ''; + }; +} |