mirror of
https://github.com/NixOS/nix.git
synced 2025-11-19 16:59:35 +01:00
tests: fix fetchers-substitute test for new narHash JSON format
The test was failing because nix path-info --json now returns narHash as
a structured dictionary {"algorithm": "sha256", "format": "base64",
"hash": "..."} instead of an SRI string "sha256-...".
This change was introduced in commit 5e7ee808d. The functional test
path-info.sh was updated at that time, but this NixOS test was missed.
The fix converts the dictionary format to SRI format inline:
tarball_hash_sri = f"{narHash_obj['algorithm']}-{narHash_obj['hash']}"
This commit is contained in:
parent
68d2292f3a
commit
53af1119fb
1 changed files with 3 additions and 1 deletions
|
|
@ -120,7 +120,9 @@
|
||||||
path_info_json = substituter.succeed(f"nix path-info --json {tarball_store_path}").strip()
|
path_info_json = substituter.succeed(f"nix path-info --json {tarball_store_path}").strip()
|
||||||
path_info_dict = json.loads(path_info_json)
|
path_info_dict = json.loads(path_info_json)
|
||||||
# nix path-info returns a dict with store paths as keys
|
# nix path-info returns a dict with store paths as keys
|
||||||
tarball_hash_sri = path_info_dict[tarball_store_path]["narHash"]
|
narHash_obj = path_info_dict[tarball_store_path]["narHash"]
|
||||||
|
# Convert from structured format {"algorithm": "sha256", "format": "base64", "hash": "..."} to SRI string
|
||||||
|
tarball_hash_sri = f"{narHash_obj['algorithm']}-{narHash_obj['hash']}"
|
||||||
print(f"Tarball NAR hash (SRI): {tarball_hash_sri}")
|
print(f"Tarball NAR hash (SRI): {tarball_hash_sri}")
|
||||||
|
|
||||||
# Also get the old format hash for fetchTarball (which uses sha256 parameter)
|
# Also get the old format hash for fetchTarball (which uses sha256 parameter)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue