summary refs log blame commit diff
path: root/nixos/tests/spike.nix
blob: cb89df73877b36f1a900fd9c6a5730be3290c8c8 (plain) (tree)
1
2
3
4
5
6
7
8


                                             
                                                                                         


                 
                                                                 













                                                                                   
import ./make-test-python.nix ({ pkgs, ... }:

let
  riscvPkgs = import ../.. { crossSystem = pkgs.lib.systems.examples.riscv64-embedded; };
in
{
  name = "spike";
  meta = with pkgs.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"
    '';
})