7638a44fa6 
							
						 
					 
					
						
						
							
							treewide: parallel tests  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 44s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 41s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 44s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 41s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 41s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m24s 
				
			 
		
		
	 
 
	 
						
						Most tests already had no global state, however parallel was never enabled. This change enables it for all applicable tests.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-13 04:38:48 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							1f0226f7e0 
							
						 
					 
					
						
						
							
							container/check: relocate overlay escape  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m12s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m31s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m25s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m40s 
				
			 
		
		
	 
 
	 
						
						This is used in hst to format strings.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-07 23:56:19 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							46cd3a28c8 
							
						 
					 
					
						
						
							
							container: remove global msg  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 1m10s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m40s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m44s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 5m1s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 6m2s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m47s 
				
			 
		
		
	 
 
	 
						
						This frees all container instances of side effects.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-09-29 06:11:47 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e55822c62f 
							
						 
					 
					
						
						
							
							container/init: reduce verbose noise  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 56s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m38s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m45s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m36s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m45s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m41s 
				
			 
		
		
	 
 
	 
						
						This makes it possible to optionally omit the identifying verbose message, for when the Op implementation can provide a much more useful message in its case, using information not yet available to the String method.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-09-28 21:51:10 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							1b5d20a39b 
							
						 
					 
					
						
						
							
							container/dispatcher: stub.Call initialisation helper function  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m11s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m19s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m34s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m33s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m28s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m39s 
				
			 
		
		
	 
 
	 
						
						This keeps composites analysis happy without making the test cases (too) bloated.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-09-02 04:44:08 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							49600a6f46 
							
						 
					 
					
						
						
							
							container/stub: export stub helpers  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m53s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m18s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m40s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m35s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m19s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m39s 
				
			 
		
		
	 
 
	 
						
						These are very useful in many packages containing relatively large amount of code making calls to difficult or impossible to stub functions.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-31 23:11:25 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							08eeafe817 
							
						 
					 
					
						
						
							
							container/mount: unwrap vfs decoder errors  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 36s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m6s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m21s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m40s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m32s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m19s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m36s 
				
			 
		
		
	 
 
	 
						
						These are now handled by init. This eliminates generic WrapErr from mount and procPaths.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-29 22:15:05 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d7c7c69a13 
							
						 
					 
					
						
						
							
							container/dispatcher: check simple test errors via reflect  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m11s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m40s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m28s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m13s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m17s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m31s 
				
			 
		
		
	 
 
	 
						
						Again, avoids the errors package concealing unexpected behaviours.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-29 22:12:21 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							50972096cd 
							
						 
					 
					
						
						
							
							container/vfs: wrap decoder errors  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m8s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m15s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m33s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m30s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m19s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m35s 
				
			 
		
		
	 
 
	 
						
						This passes line information and handles strconv errors so it reads better.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-29 21:51:31 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4da6463135 
							
						 
					 
					
						
						
							
							container/init: unwrap path errors  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m49s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m18s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m43s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m53s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m16s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m36s 
				
			 
		
		
	 
 
	 
						
						These are also now handled by init properly, so wrapping them in self is meaningless and unreachable.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-29 02:04:09 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							eb3385d490 
							
						 
					 
					
						
						
							
							container/initsymlink: unwrap mount errors  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m49s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m17s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m42s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m10s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m18s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m38s 
				
			 
		
		
	 
 
	 
						
						The mount function now wraps its own errors in a much more descriptive type with proper message formatting. Wrapping them no longer makes any sense.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-29 01:46:54 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							1b3902df78 
							
						 
					 
					
						
						
							
							container/dispatcher: instrument each goroutine individually  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 35s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 44s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m33s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m35s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 3m25s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m41s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						Scheduler nondeterminism cannot be accounted for, so do this instead.
There should not be any performance penalty as these calls are optimised out for direct.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-23 11:07:16 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							afe23600d2 
							
						 
					 
					
						
						
							
							container/path: use syscall dispatcher  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m8s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m14s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m8s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m26s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m39s 
				
			 
		
		
	 
 
	 
						
						This allows path and mount functions to be instrumented.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-22 22:02:21 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							09d2844981 
							
						 
					 
					
						
						
							
							container/init: wrap syscall helper functions  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m7s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m59s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m26s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m6s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
		
	 
 
	 
						
						This allows tests to stub all kernel behaviour, enabling measurement of all function call arguments and error injection.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-22 19:27:31 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							5d8a2199b6 
							
						 
					 
					
						
						
							
							container/init: op interface valid method  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m12s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m19s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m57s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m25s 
				
			 
		
		
	 
 
	 
						
						Check ops early and eliminate duplicate checks.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-21 00:18:50 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							375acb476d 
							
						 
					 
					
						
						
							
							container/autoroot: check host path equivalence by value  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m21s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m12s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m25s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m1s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						This will never return true otherwise unless the equivalent paths happen to be interned by the caller.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-20 02:14:39 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ba3227bf15 
							
						 
					 
					
						
						
							
							container: export overlay escape  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Sandbox (push) Successful in 2m21s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m23s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m22s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m14s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m8s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m22s 
				
			 
		
			
				
	Test / Create distribution (push) Successful in 37s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-14 23:44:11 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ff66296378 
							
						 
					 
					
						
						
							
							container/mount: mount data escape helper function  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m0s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m56s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m57s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m7s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m38s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m18s 
				
			 
		
		
	 
 
	 
						
						For formatting user-supplied path strings into overlayfs mount data.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-08-03 17:46:14 +09:00