build: replace 100 offset for build exit codes
This commit is contained in:
		
							parent
							
								
									1ac399dd11
								
							
						
					
					
						commit
						a52c331edb
					
				
					 3 changed files with 30 additions and 9 deletions
				
			
		|  | @ -247,8 +247,15 @@ printed.)</para> | |||
| </variablelist> | ||||
| 
 | ||||
| <para>With the <option>--keep-going</option> flag it's possible for | ||||
| multiple build failures to occur, in this case the 1xx status codes | ||||
| are or combined.</para> | ||||
| multiple failures to occur, in this case the 1xx status codes are or combined | ||||
| using binary or. <screen> | ||||
| 1100100 | ||||
|    ^^^^ | ||||
|    |||`- timeout | ||||
|    ||`-- output hash mismatch | ||||
|    |`--- build failure | ||||
|    `---- not deterministic | ||||
| </screen></para> | ||||
| 
 | ||||
| </refsection> | ||||
| 
 | ||||
|  |  | |||
|  | @ -4471,15 +4471,29 @@ void Worker::waitForInput() | |||
| 
 | ||||
| unsigned int Worker::exitStatus() | ||||
| { | ||||
|     /*
 | ||||
|      * 1100100 | ||||
|      *    ^^^^ | ||||
|      *    |||`- timeout | ||||
|      *    ||`-- output hash mismatch | ||||
|      *    |`--- build failure | ||||
|      *    `---- not deterministic | ||||
|      */ | ||||
|     unsigned int mask = 0; | ||||
|     bool buildFailure = permanentFailure || timedOut || hashMismatch; | ||||
|     if (buildFailure) | ||||
|         mask |= 0x04;  // 100
 | ||||
|     if (timedOut) | ||||
|         mask |= 1; | ||||
|         mask |= 0x01;  // 101
 | ||||
|     if (hashMismatch) | ||||
|         mask |= 2; | ||||
|     if (checkMismatch) | ||||
|         mask |= 4; | ||||
|         mask |= 0x02;  // 102
 | ||||
|     if (checkMismatch) { | ||||
|         mask |= 0x08;  // 104
 | ||||
|     } | ||||
| 
 | ||||
|     return mask ? 100 + mask : 1; | ||||
|     if (mask) | ||||
|         mask |= 0x60; | ||||
|     return mask ? mask : 1; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,8 +7,8 @@ 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=$? | ||||
| [ "$status" = "104" ] | ||||
| grep 'may not be deterministic' $TEST_ROOT/log | ||||
| [ "$status" = "104" ] | ||||
| 
 | ||||
| clearStore | ||||
| 
 | ||||
|  | @ -44,4 +44,4 @@ nix-build check.nix -A hashmismatch --no-out-link --check --hashed-mirrors '' || | |||
| # 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" = "106" ] | ||||
| [ "$status" = "110" ] | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue