nixpkgs/nixos/tests/agda.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

44 lines
1,014 B
Nix
Raw Normal View History

2020-04-19 20:01:37 +02:00
import ./make-test-python.nix ({ pkgs, ... }:
let
hello-world = pkgs.writeText "hello-world" ''
{-# OPTIONS --guardedness #-}
2020-04-19 20:01:37 +02:00
open import IO
open import Level
2020-04-19 20:01:37 +02:00
main = run {0} (putStrLn "Hello World!")
2020-04-19 20:01:37 +02:00
'';
in
{
name = "agda";
meta = with pkgs.lib.maintainers; {
2020-04-19 20:01:37 +02:00
maintainers = [ alexarice turion ];
};
2022-03-21 00:15:30 +01:00
nodes.machine = { pkgs, ... }: {
2020-04-19 20:01:37 +02:00
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")
2020-09-16 11:59:30 +02:00
# Hello world
2020-04-19 20:01:37 +02:00
machine.succeed(
"cp ${hello-world} HelloWorld.agda"
)
machine.succeed("agda -l standard-library -i . -c HelloWorld.agda")
# Check execution
assert "Hello World!" in machine.succeed(
"./HelloWorld"
), "HelloWorld does not run properly"
2020-04-19 20:01:37 +02:00
'';
}
)