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,9 +71,7 @@ let
} else pkg;
}) testedSystems;
in
lib.mapAttrs (_: mapMultiPlatformTest) {
tests = {
file = {platformFun, crossPkgs, emulator}: compareTest {
inherit emulator crossPkgs;
@ -93,4 +91,10 @@ lib.mapAttrs (_: mapMultiPlatformTest) {
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)