aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/tests/agda.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/tests/agda.nix')
-rw-r--r--nixpkgs/nixos/tests/agda.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/nixpkgs/nixos/tests/agda.nix b/nixpkgs/nixos/tests/agda.nix
new file mode 100644
index 00000000000..e158999e57d
--- /dev/null
+++ b/nixpkgs/nixos/tests/agda.nix
@@ -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")
+ '';
+}
+)