diff options
author | Andreas Rammhold <andreas@rammhold.de> | 2020-01-28 14:00:38 +0100 |
---|---|---|
committer | Andreas Rammhold <andreas@rammhold.de> | 2020-01-28 14:07:58 +0100 |
commit | 19698d15ce44e51a4b875f1cae05af70ffc5656a (patch) | |
tree | 2257226b37356179d67b28e66ed55d40ab743548 /pkgs/build-support/rust/build-rust-crate | |
parent | 7562c2112dce7bc778c2de07ee72de2502141faa (diff) | |
download | nixpkgs-19698d15ce44e51a4b875f1cae05af70ffc5656a.tar nixpkgs-19698d15ce44e51a4b875f1cae05af70ffc5656a.tar.gz nixpkgs-19698d15ce44e51a4b875f1cae05af70ffc5656a.tar.bz2 nixpkgs-19698d15ce44e51a4b875f1cae05af70ffc5656a.tar.lz nixpkgs-19698d15ce44e51a4b875f1cae05af70ffc5656a.tar.xz nixpkgs-19698d15ce44e51a4b875f1cae05af70ffc5656a.tar.zst nixpkgs-19698d15ce44e51a4b875f1cae05af70ffc5656a.zip |
buildRustCrateTests: add regression test for #74071
Diffstat (limited to 'pkgs/build-support/rust/build-rust-crate')
-rw-r--r-- | pkgs/build-support/rust/build-rust-crate/test/default.nix | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/test/default.nix b/pkgs/build-support/rust/build-rust-crate/test/default.nix index cdffb30d9b3..6aad02992c1 100644 --- a/pkgs/build-support/rust/build-rust-crate/test/default.nix +++ b/pkgs/build-support/rust/build-rust-crate/test/default.nix @@ -199,6 +199,27 @@ let }) ]; }; + # Regression test for https://github.com/NixOS/nixpkgs/issues/74071 + # Whenevever a build.rs file is generating files those should not be overlayed onto the actual source dir + buildRsOutDirOverlay = { + src = symlinkJoin { + name = "buildrs-out-dir-overlay"; + paths = [ + (mkLib "src/lib.rs") + (mkFile "build.rs" '' + use std::env; + use std::ffi::OsString; + use std::fs; + use std::path::Path; + fn main() { + let out_dir = env::var_os("OUT_DIR").expect("OUT_DIR not set"); + let out_file = Path::new(&out_dir).join("lib.rs"); + fs::write(out_file, "invalid rust code!").expect("failed to write lib.rs"); + } + '') + ]; + }; + }; }; brotliCrates = (callPackage ./brotli-crates.nix {}); in lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases // { |