MCPcopy Create free account
hub / github.com/Mic92/nix-diff-rs / test_basic_derivation_diff

Function test_basic_derivation_diff

tests/integration_test.rs:17–53  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

15
16#[test]
17fn test_basic_derivation_diff() {
18 let tests_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests");
19 let (_nix_root, env_vars) = setup_nix_env();
20
21 // Generate derivations
22 let mut cmd1 = Command::new("nix-instantiate");
23 cmd1.arg(tests_dir.join("hello-flake-v1/default.nix"));
24 for (key, value) in &env_vars {
25 cmd1.env(key, value);
26 }
27 let output1 = cmd1
28 .output()
29 .expect("Failed to instantiate hello-flake-v1/default.nix");
30
31 let mut cmd2 = Command::new("nix-instantiate");
32 cmd2.arg(tests_dir.join("hello-flake-v2/default.nix"));
33 for (key, value) in &env_vars {
34 cmd2.env(key, value);
35 }
36 let output2 = cmd2
37 .output()
38 .expect("Failed to instantiate hello-flake-v2/default.nix");
39
40 let drv1 = String::from_utf8_lossy(&output1.stdout).trim().to_string();
41 let drv2 = String::from_utf8_lossy(&output2.stdout).trim().to_string();
42
43 // Run nix-diff
44 let mut cmd = Command::new(env!("CARGO_BIN_EXE_nix-diff"));
45 cmd.args([&drv1, &drv2]).env("NO_COLOR", "1");
46 for (key, value) in &env_vars {
47 cmd.env(key, value);
48 }
49 let output = cmd.output().expect("Failed to run nix-diff");
50
51 let stdout = String::from_utf8_lossy(&output.stdout);
52 assert_diff_output(&stdout);
53}
54
55#[test]
56fn test_nix_file_diff() {

Callers

nothing calls this directly

Calls 2

setup_nix_envFunction · 0.85
assert_diff_outputFunction · 0.85

Tested by

no test coverage detected