From fb26d16e99a2ac71377297d9d37867d9d31f115e Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Fri, 30 Jun 2023 01:58:19 -0700 Subject: [PATCH] test.cross.sanity: init This commit adds `pkgs.test.cross.sanity`, which is meant to be a carefully curated list of builds/packages that tend to break when refactoring our cross-compilation infrastructure. It should strike a balance between being small enough to fit in a single eval (i.e. not so large that hydra-eval-jobs is needed) so we can ask @ofborg to check it, yet should have good examples of things that often break. So, no buckshot `mapTestOnCross` calls here. --- pkgs/test/cross/default.nix | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/pkgs/test/cross/default.nix b/pkgs/test/cross/default.nix index a5144fe2cef6651..f31d6aefbddabd5 100644 --- a/pkgs/test/cross/default.nix +++ b/pkgs/test/cross/default.nix @@ -107,10 +107,6 @@ let ''; }; -in { - gcc = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // {useLLVM = false;})) tests); - llvm = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // {useLLVM = true;})) tests); - # see https://github.com/NixOS/nixpkgs/issues/213453 # this is a good test of a lot of tricky glibc/libgcc corner cases mbuffer = let @@ -120,4 +116,34 @@ in { pkgs.runCommand "test-mbuffer" {} '' echo hello | ${emulator} ${mbuffer}/bin/mbuffer ''; + + # This is meant to be a carefully curated list of builds/packages + # that tend to break when refactoring our cross-compilation + # infrastructure. + # + # It should strike a balance between being small enough to fit in + # a single eval (i.e. not so large that hydra-eval-jobs is needed) + # so we can ask @ofborg to check it, yet should have good examples + # of things that often break. So, no buckshot `mapTestOnCross` + # calls here. + sanity = [ + #pkgs.mbuffer # https://github.com/NixOS/nixpkgs/issues/213453 + #pkgs.pkgsCross.gnu64.bash # https://github.com/NixOS/nixpkgs/issues/243164 + pkgs.gcc_multi.cc + pkgs.pkgsMusl.stdenv + pkgs.pkgsLLVM.stdenv + pkgs.pkgsStatic.bash + pkgs.pkgsCross.arm-embedded.stdenv + pkgs.pkgsCross.aarch64-multiplatform.pkgsBuildTarget.gcc + #pkgs.pkgsCross.powernv.pkgsBuildTarget.gcc + pkgs.pkgsCross.mips64el-linux-gnuabi64.stdenv + pkgs.pkgsCross.mips64el-linux-gnuabin32.stdenv + pkgs.pkgsCross.mingwW64.stdenv + ]; + +in { + gcc = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // {useLLVM = false;})) tests); + llvm = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // {useLLVM = true;})) tests); + + inherit mbuffer sanity; }