-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Description
I'm trying to package https://github.com/tweag/nickel which depends on pubgrub. One of the tests uses pubgrub to verify that certain output indicating a package resolution error will occur in the case of bad input. This test consistently fails under Alpine Linux 3.22 on all 32 bit architectures I'm trying to package for: x86, armv7 and armhf
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Snapshot file: package/tests/snapshots/integration__package__tests__integration__inputs__path__conflicting-index-deps__Nickel-pkg.ncl.snap
Snapshot: package/tests/integration/inputs/path/conflicting-index-deps/Nickel-pkg.ncl
Source: package/tests/integration.rs:266
────────────────────────────────────────────────────────────────────────────────
test package/tests/integration/inputs/path/path-to-index-dep/Nickel-pkg.ncl ... ok
Expression: e.to_string()
────────────────────────────────────────────────────────────────────────────────
-old snapshot
+new results
────────────┬───────────────────────────────────────────────────────────────────
1 1 │ package version resolution failed:
2 │-Because 'Path <filtered> depends on github:example/leaf 0.1.0 and top-level package 0.1.0 depends on 'Path <filtered> top-level package 0.1.0 depends on github:example/leaf 0.1.0.
3 │-And because top-level package 0.1.0 depends on github:example/leaf 0.1.1, top-level package 0.1.0 is forbidden.
2 │+Because 'Path <filtered> depends on github:example/leaf 0.1.0 and top-level package 0.1.0 depends on github:example/leaf 0.1.1, top-level package 0.1.0, 'Path <filtered> * are incompatible.
3 │+And because top-level package 0.1.0 depends on 'Path <filtered> top-level package 0.1.0 is forbidden.
────────────┴───────────────────────────────────────────────────────────────────
Stopped on the first failure. Run `cargo insta test` to run all snapshots.
thread '<unnamed>' panicked at /home/buildozer/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/insta-1.43.2/src/runtime.rs:694:13:
snapshot assertion for 'package/tests/integration/inputs/path/conflicting-index-deps/Nickel-pkg.ncl' failed in line 266
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
test package/tests/integration/inputs/path/conflicting-index-deps/Nickel-pkg.ncl ... FAILED
Already have a cache entry at "/tmp/.tmpxu7Ted/cache_dir/git-packages/44b1c226afdc6220892c242f6b05c9c654aa6065/"
test package/tests/integration/inputs/path/duplicate-path/Nickel-pkg.ncl ... ok
test package/tests/integration/inputs/path/git-path-dep/Nickel-pkg.ncl ... ok
failures:
---- package/tests/integration/inputs/path/conflicting-index-deps/Nickel-pkg.ncl ----
test panicked: snapshot assertion for 'package/tests/integration/inputs/path/conflicting-index-deps/Nickel-pkg.ncl' failed in line 266
failures:
package/tests/integration/inputs/path/conflicting-index-deps/Nickel-pkg.ncl
test result: FAILED. 14 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.32s
error: test failed, to rerun pass `-p nickel-lang-package --test integration`
While the content of the message effectively carries the same meaning, the different sort order causes the test to fail. Is this simply a case of this not being a well-written test, or not a reasonable thing to test? Or is there something fundamentally different in pubgrub regarding how 32-bit builds sort the dependencies when trying to resolve them?
Ref: tweag/nickel#2372
Metadata
Metadata
Assignees
Labels
No labels