aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ci.nix26
1 files changed, 26 insertions, 0 deletions
diff --git a/ci.nix b/ci.nix
new file mode 100644
index 0000000..545121e
--- /dev/null
+++ b/ci.nix
@@ -0,0 +1,26 @@
+let
+ pkgs = import <nixpkgs> {};
+
+ hello_worlds = import examples/hello_world.nix;
+ simples = import examples/simple.nix;
+
+ writeTest = expectedValue: test: pkgs.writeScript "test" ''
+ #!/bin/sh
+ if test "$(${test})" != "${expectedValue}"; then
+ echo 'test ${test} failed'
+ exit 1
+ fi
+ '';
+
+in
+ pkgs.lib.mapAttrs' (n: v: pkgs.lib.nameValuePair "hello_${n}" (writeTest "hello world" v)) hello_worlds //
+ pkgs.lib.mapAttrs' (n: v: pkgs.lib.nameValuePair "simple_${n}" v) {
+ bash = writeTest "bash features" simples.bash;
+ dash = writeTest "dash features" simples.dash;
+ haskell = writeTest "Rolf" simples.haskell;
+ perl = writeTest "Howdy!" simples.perl;
+ python2 = writeTest "['some', 'random', 'variables']" simples.python2;
+ python3 = writeTest "['some', 'random', 'variables']" simples.python3;
+ sed = writeTest "hello world" simples.sed;
+ }
+