summary refs log tree commit diff
path: root/pkgs/test/cross
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2023-06-30 01:58:19 -0700
committerAdam Joseph <adam@westernsemico.com>2023-07-01 02:59:40 -0700
commitfb26d16e99a2ac71377297d9d37867d9d31f115e (patch)
tree884f021c7581291bb464950130f3498202de149b /pkgs/test/cross
parente36efdd1cf5b37108b129f3b0283769bbef09cea (diff)
downloadnixpkgs-fb26d16e99a2ac71377297d9d37867d9d31f115e.tar
nixpkgs-fb26d16e99a2ac71377297d9d37867d9d31f115e.tar.gz
nixpkgs-fb26d16e99a2ac71377297d9d37867d9d31f115e.tar.bz2
nixpkgs-fb26d16e99a2ac71377297d9d37867d9d31f115e.tar.lz
nixpkgs-fb26d16e99a2ac71377297d9d37867d9d31f115e.tar.xz
nixpkgs-fb26d16e99a2ac71377297d9d37867d9d31f115e.tar.zst
nixpkgs-fb26d16e99a2ac71377297d9d37867d9d31f115e.zip
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.
Diffstat (limited to 'pkgs/test/cross')
-rw-r--r--pkgs/test/cross/default.nix34
1 files changed, 30 insertions, 4 deletions
diff --git a/pkgs/test/cross/default.nix b/pkgs/test/cross/default.nix
index a5144fe2cef..f31d6aefbdd 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;
 }