agda: Added test
This commit is contained in:
parent
1175065111
commit
b78a5a0e79
41
nixos/tests/agda.nix
Normal file
41
nixos/tests/agda.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
hello-world = pkgs.writeText "hello-world" ''
|
||||||
|
open import IO
|
||||||
|
|
||||||
|
main = run(putStrLn "Hello World!")
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "agda";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ alexarice turion ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { pkgs, ... }: {
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.agda.withPackages {
|
||||||
|
pkgs = p: [ p.standard-library ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
virtualisation.memorySize = 2000; # Agda uses a lot of memory
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
# Minimal script that typechecks
|
||||||
|
machine.succeed("touch TestEmpty.agda")
|
||||||
|
machine.succeed("agda TestEmpty.agda")
|
||||||
|
|
||||||
|
# Minimal script that actually uses the standard library
|
||||||
|
machine.succeed('echo "import IO" > TestIO.agda')
|
||||||
|
machine.succeed("agda -l standard-library -i . TestIO.agda")
|
||||||
|
|
||||||
|
# # Hello world
|
||||||
|
machine.succeed(
|
||||||
|
"cp ${hello-world} HelloWorld.agda"
|
||||||
|
)
|
||||||
|
machine.succeed("agda -l standard-library -i . -c HelloWorld.agda")
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
)
|
|
@ -23,6 +23,7 @@ in
|
||||||
{
|
{
|
||||||
_3proxy = handleTest ./3proxy.nix {};
|
_3proxy = handleTest ./3proxy.nix {};
|
||||||
acme = handleTest ./acme.nix {};
|
acme = handleTest ./acme.nix {};
|
||||||
|
agda = handleTest ./agda.nix {};
|
||||||
atd = handleTest ./atd.nix {};
|
atd = handleTest ./atd.nix {};
|
||||||
automysqlbackup = handleTest ./automysqlbackup.nix {};
|
automysqlbackup = handleTest ./automysqlbackup.nix {};
|
||||||
avahi = handleTest ./avahi.nix {};
|
avahi = handleTest ./avahi.nix {};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user