cross/tests: add llvm-based tests

This commit is contained in:
Matthew Bauer 2019-02-25 22:54:40 -05:00
parent b86e62d30d
commit 8e25da0beb
2 changed files with 26 additions and 22 deletions

View file

@ -101,7 +101,7 @@ rec {
in
if final.parsed.kernel.name == pkgs.stdenv.hostPlatform.parsed.kernel.name &&
pkgs.stdenv.hostPlatform.isCompatible final
then pkgs.runtimeShell
then "${pkgs.runtimeShell} -c"
else if final.isWindows
then "${wine}/bin/${wine-name}"
else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux

View file

@ -53,10 +53,10 @@ let
fi
'';
mapMultiPlatformTest = test: lib.mapAttrs (name: system: test rec {
mapMultiPlatformTest = crossSystemFun: test: lib.mapAttrs (name: system: test rec {
crossPkgs = import pkgs.path {
localSystem = { inherit (pkgs.hostPlatform) config; };
crossSystem = system;
crossSystem = crossSystemFun system;
};
emulator = crossPkgs.hostPlatform.emulator pkgs;
@ -71,26 +71,30 @@ let
} else pkg;
}) testedSystems;
in
tests = {
lib.mapAttrs (_: mapMultiPlatformTest) {
file = {platformFun, crossPkgs, emulator}: compareTest {
inherit emulator crossPkgs;
hostPkgs = pkgs;
exec = "/bin/file";
args = [
"${pkgs.file}/share/man/man1/file.1.gz"
"${pkgs.dejavu_fonts}/share/fonts/truetype/DejaVuMathTeXGyre.ttf"
];
pkgFun = pkgs: platformFun pkgs.file;
};
hello = {platformFun, crossPkgs, emulator}: compareTest {
inherit emulator crossPkgs;
hostPkgs = pkgs;
exec = "/bin/hello";
pkgFun = pkgs: pkgs.hello;
};
file = {platformFun, crossPkgs, emulator}: compareTest {
inherit emulator crossPkgs;
hostPkgs = pkgs;
exec = "/bin/file";
args = [
"${pkgs.file}/share/man/man1/file.1.gz"
"${pkgs.dejavu_fonts}/share/fonts/truetype/DejaVuMathTeXGyre.ttf"
];
pkgFun = pkgs: platformFun pkgs.file;
};
hello = {platformFun, crossPkgs, emulator}: compareTest {
inherit emulator crossPkgs;
hostPkgs = pkgs;
exec = "/bin/hello";
pkgFun = pkgs: pkgs.hello;
};
}
in (lib.mapAttrs (_: mapMultiPlatformTest builtins.id) tests)
// (lib.mapAttrs' (name: test: {
name = "${name}-llvm";
value = mapMultiPlatformTest (system: system // {useLLVM = true;}) test;
}) tests)