aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix')
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix26
1 files changed, 26 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
index bdd6c86d5f0..24ddc11459e 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/test/default.nix
@@ -344,6 +344,32 @@ let
buildTests = true;
expectedTestOutputs = [ "test baz_false ... ok" ];
};
+ buildScriptFeatureEnv = {
+ crateName = "build-script-feature-env";
+ features = [ "some-feature" "crate/another_feature" ];
+ src = symlinkJoin {
+ name = "build-script-feature-env";
+ paths = [
+ (mkFile "src/main.rs" ''
+ #[cfg(test)]
+ #[test]
+ fn feature_not_visible() {
+ assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_err());
+ assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none());
+ }
+ fn main() {}
+ '')
+ (mkFile "build.rs" ''
+ fn main() {
+ assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_ok());
+ assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none());
+ }
+ '')
+ ];
+ };
+ buildTests = true;
+ expectedTestOutputs = [ "test feature_not_visible ... ok" ];
+ };
# Regression test for https://github.com/NixOS/nixpkgs/pull/88054
# Build script output should be rewritten as valid env vars.
buildScriptIncludeDirDeps = let