git-subtree-dir: third_party/nix
git-subtree-mainline: cf8cd640c1
git-subtree-split: be66c7a6b24e3c3c6157fd37b86c7203d14acf10
		
	
			
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| source common.sh
 | |
| 
 | |
| clearStore
 | |
| 
 | |
| nix-build dependencies.nix --no-out-link
 | |
| nix-build dependencies.nix --no-out-link --check
 | |
| 
 | |
| nix-build check.nix -A nondeterministic --no-out-link
 | |
| nix-build check.nix -A nondeterministic --no-out-link --check 2> $TEST_ROOT/log || status=$?
 | |
| grep 'may not be deterministic' $TEST_ROOT/log
 | |
| [ "$status" = "104" ]
 | |
| 
 | |
| clearStore
 | |
| 
 | |
| nix-build dependencies.nix --no-out-link --repeat 3
 | |
| 
 | |
| nix-build check.nix -A nondeterministic --no-out-link --repeat 1 2> $TEST_ROOT/log || status=$?
 | |
| [ "$status" = "1" ]
 | |
| grep 'differs from previous round' $TEST_ROOT/log
 | |
| 
 | |
| path=$(nix-build check.nix -A fetchurl --no-out-link --hashed-mirrors '')
 | |
| 
 | |
| chmod +w $path
 | |
| echo foo > $path
 | |
| chmod -w $path
 | |
| 
 | |
| nix-build check.nix -A fetchurl --no-out-link --check --hashed-mirrors ''
 | |
| # Note: "check" doesn't repair anything, it just compares to the hash stored in the database.
 | |
| [[ $(cat $path) = foo ]]
 | |
| 
 | |
| nix-build check.nix -A fetchurl --no-out-link --repair --hashed-mirrors ''
 | |
| [[ $(cat $path) != foo ]]
 | |
| 
 | |
| nix-build check.nix -A hashmismatch --no-out-link --hashed-mirrors '' || status=$?
 | |
| [ "$status" = "102" ]
 | |
| 
 | |
| echo -n > ./dummy
 | |
| nix-build check.nix -A hashmismatch --no-out-link --hashed-mirrors ''
 | |
| echo 'Hello World' > ./dummy
 | |
| 
 | |
| nix-build check.nix -A hashmismatch --no-out-link --check --hashed-mirrors '' || status=$?
 | |
| [ "$status" = "102" ]
 | |
| 
 | |
| # Multiple failures with --keep-going
 | |
| nix-build check.nix -A nondeterministic --no-out-link
 | |
| nix-build check.nix -A nondeterministic -A hashmismatch --no-out-link --check --keep-going --hashed-mirrors '' || status=$?
 | |
| [ "$status" = "110" ]
 |