about summary refs log tree commit diff
path: root/nixos/tests
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-11-19 10:53:44 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2019-11-19 10:53:44 +0100
commitf6b39f852e0a9eb35a7434f02e5579c15519c41c (patch)
tree8af93c37d0e1ec97607e92ba1926ce24ed744040 /nixos/tests
parented9fb90b2855fe09772958494a611248cc23a89c (diff)
parent41d921292e922a6cd1aba64259341c244d4c2cc7 (diff)
downloadnixlib-f6b39f852e0a9eb35a7434f02e5579c15519c41c.tar
nixlib-f6b39f852e0a9eb35a7434f02e5579c15519c41c.tar.gz
nixlib-f6b39f852e0a9eb35a7434f02e5579c15519c41c.tar.bz2
nixlib-f6b39f852e0a9eb35a7434f02e5579c15519c41c.tar.lz
nixlib-f6b39f852e0a9eb35a7434f02e5579c15519c41c.tar.xz
nixlib-f6b39f852e0a9eb35a7434f02e5579c15519c41c.tar.zst
nixlib-f6b39f852e0a9eb35a7434f02e5579c15519c41c.zip
Merge master into staging-next
Diffstat (limited to 'nixos/tests')
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/magnetico.nix26
-rw-r--r--nixos/tests/spike.nix22
3 files changed, 42 insertions, 7 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index e0d251f86a4d..a827f06731e8 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -148,6 +148,7 @@ in
   loki = handleTest ./loki.nix {};
   #logstash = handleTest ./logstash.nix {};
   lorri = handleTest ./lorri/default.nix {};
+  magnetico = handleTest ./magnetico.nix {};
   mailcatcher = handleTest ./mailcatcher.nix {};
   mathics = handleTest ./mathics.nix {};
   matomo = handleTest ./matomo.nix {};
diff --git a/nixos/tests/magnetico.nix b/nixos/tests/magnetico.nix
index bc7aef653ee5..6770d32358e8 100644
--- a/nixos/tests/magnetico.nix
+++ b/nixos/tests/magnetico.nix
@@ -1,4 +1,9 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} :
+
+let
+  port = 8081;
+in
+{
   name = "magnetico";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ rnhmjoj ];
@@ -12,17 +17,24 @@ import ./make-test.nix ({ pkgs, ...} : {
     services.magnetico = {
       enable = true;
       crawler.port = 9000;
+      web.port = port;
       web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe";
     };
   };
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("magneticod");
-      $machine->waitForUnit("magneticow");
-      $machine->succeed("${pkgs.curl}/bin/curl -u user:password http://localhost:8080");
-      $machine->succeed("${pkgs.curl}/bin/curl -u user:wrongpwd http://localhost:8080") =~ "Unauthorised." or die;
-      $machine->shutdown();
+      start_all()
+      machine.wait_for_unit("magneticod")
+      machine.wait_for_unit("magneticow")
+      machine.succeed(
+          "${pkgs.curl}/bin/curl "
+          + "-u user:password http://localhost:${toString port}"
+      )
+      assert "Unauthorised." in machine.succeed(
+          "${pkgs.curl}/bin/curl "
+          + "-u user:wrongpwd http://localhost:${toString port}"
+      )
+      machine.shutdown()
     '';
 })
diff --git a/nixos/tests/spike.nix b/nixos/tests/spike.nix
new file mode 100644
index 000000000000..47763e75ffa2
--- /dev/null
+++ b/nixos/tests/spike.nix
@@ -0,0 +1,22 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+let
+  riscvPkgs = import ../.. { crossSystem = pkgs.stdenv.lib.systems.examples.riscv64-embedded; };
+in
+{
+  name = "spike";
+  meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ blitz ]; };
+
+  machine = { pkgs, lib, ... }: {
+    environment.systemPackages = [ pkgs.spike riscvPkgs.riscv-pk riscvPkgs.hello ];
+  };
+
+  # Run the RISC-V hello applications using the proxy kernel on the
+  # Spike emulator and see whether we get the expected output.
+  testScript =
+    ''
+      machine.wait_for_unit("multi-user.target")
+      output = machine.succeed("spike -m64 $(which pk) $(which hello)")
+      assert output == "Hello, world!\n"
+    '';
+})