Merge pull request #2574 from zimbatm/multi-line-expected-sha256
libstore: improve hash mismatch error messages
This commit is contained in:
		
						commit
						800cd55ab7
					
				
					 3 changed files with 6 additions and 6 deletions
				
			
		| 
						 | 
					@ -3129,8 +3129,8 @@ void DerivationGoal::registerOutputs()
 | 
				
			||||||
                /* Throw an error after registering the path as
 | 
					                /* Throw an error after registering the path as
 | 
				
			||||||
                   valid. */
 | 
					                   valid. */
 | 
				
			||||||
                delayedException = std::make_exception_ptr(
 | 
					                delayedException = std::make_exception_ptr(
 | 
				
			||||||
                    BuildError("fixed-output derivation produced path '%s' with %s hash '%s' instead of the expected hash '%s'",
 | 
					                    BuildError("hash mismatch in fixed-output derivation '%s':\n  wanted: %s\n  got:    %s",
 | 
				
			||||||
                        dest, printHashType(h.type), printHash16or32(h2), printHash16or32(h)));
 | 
					                        dest, h.to_string(), h2.to_string()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                Path actualDest = worker.store.toRealPath(dest);
 | 
					                Path actualDest = worker.store.toRealPath(dest);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -881,8 +881,8 @@ Path Downloader::downloadCached(ref<Store> store, const string & url_, bool unpa
 | 
				
			||||||
        Hash gotHash = unpack
 | 
					        Hash gotHash = unpack
 | 
				
			||||||
            ? hashPath(expectedHash.type, store->toRealPath(storePath)).first
 | 
					            ? hashPath(expectedHash.type, store->toRealPath(storePath)).first
 | 
				
			||||||
            : hashFile(expectedHash.type, store->toRealPath(storePath));
 | 
					            : hashFile(expectedHash.type, store->toRealPath(storePath));
 | 
				
			||||||
        throw nix::Error("hash mismatch in file downloaded from '%s': got hash '%s' instead of the expected hash '%s'",
 | 
					        throw nix::Error("hash mismatch in file downloaded from '%s':\n  wanted: %s\n  got:    %s",
 | 
				
			||||||
            url, gotHash.to_string(), expectedHash.to_string());
 | 
					            url, expectedHash.to_string(), gotHash.to_string());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return store->toRealPath(storePath);
 | 
					    return store->toRealPath(storePath);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1022,11 +1022,11 @@ void LocalStore::addToStore(const ValidPathInfo & info, Source & source,
 | 
				
			||||||
            auto hashResult = hashSink.finish();
 | 
					            auto hashResult = hashSink.finish();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (hashResult.first != info.narHash)
 | 
					            if (hashResult.first != info.narHash)
 | 
				
			||||||
                throw Error("hash mismatch importing path '%s'; expected hash '%s', got '%s'",
 | 
					                throw Error("hash mismatch importing path '%s';\n  wanted: %s\n  got:    %s",
 | 
				
			||||||
                    info.path, info.narHash.to_string(), hashResult.first.to_string());
 | 
					                    info.path, info.narHash.to_string(), hashResult.first.to_string());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (hashResult.second != info.narSize)
 | 
					            if (hashResult.second != info.narSize)
 | 
				
			||||||
                throw Error("size mismatch importing path '%s'; expected %s, got %s",
 | 
					                throw Error("size mismatch importing path '%s';\n  wanted: %s\n  got:   %s",
 | 
				
			||||||
                    info.path, info.narSize, hashResult.second);
 | 
					                    info.path, info.narSize, hashResult.second);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            autoGC();
 | 
					            autoGC();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue