nixpkgs/pkgs/by-name/ca/cargo-benchcmp/fix-test-binary-path.patch
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

31 lines
1.2 KiB
Diff

--- a/tests/integration.rs
+++ b/tests/integration.rs
@@ -16,20 +16,13 @@ impl CommandUnderTest {
fn new() -> CommandUnderTest {
// To find the directory where the built binary is, we walk up the directory tree of the test binary until the
// parent is "target/".
- let mut binary_path = env::current_exe().expect("need current binary path to find binary to test");
- loop {
- {
- let parent = binary_path.parent();
- if parent.is_none() {
- panic!("Failed to locate binary path from original path: {:?}", env::current_exe());
- }
- let parent = parent.unwrap();
- if parent.is_dir() && parent.file_name().unwrap() == "target" {
- break;
- }
- }
- binary_path.pop();
- }
+ let mut binary_path = PathBuf::from(
+ env::current_dir()
+ .unwrap()
+ .join("target")
+ .join("@shortTarget@")
+ .join(env!("cargoBuildType")),
+ );
binary_path.push(
if cfg!(target_os = "windows") {