test/sandbox: check extra writable paths
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Test / Hakurei (push) Successful in 48s
				
			
		
			
				
	
				Test / Create distribution (push) Successful in 39s
				
			
		
			
				
	
				Test / Hakurei (race detector) (push) Successful in 49s
				
			
		
			
				
	
				Test / Hpkg (push) Successful in 47s
				
			
		
			
				
	
				Test / Sandbox (push) Successful in 1m52s
				
			
		
			
				
	
				Test / Sandbox (race detector) (push) Successful in 2m54s
				
			
		
			
				
	
				Test / Flake checks (push) Successful in 1m21s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Test / Hakurei (push) Successful in 48s
				
			Test / Create distribution (push) Successful in 39s
				
			Test / Hakurei (race detector) (push) Successful in 49s
				
			Test / Hpkg (push) Successful in 47s
				
			Test / Sandbox (push) Successful in 1m52s
				
			Test / Sandbox (race detector) (push) Successful in 2m54s
				
			Test / Flake checks (push) Successful in 1m21s
				
			This is not always obvious from mountinfo. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
		
							parent
							
								
									d0ddd71934
								
							
						
					
					
						commit
						83c4f8b767
					
				| @ -17,6 +17,7 @@ import ( | |||||||
| 	"log" | 	"log" | ||||||
| 	"net" | 	"net" | ||||||
| 	"os" | 	"os" | ||||||
|  | 	"path" | ||||||
| 	"syscall" | 	"syscall" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| @ -52,12 +53,29 @@ func (t *T) MustCheckFile(wantFilePath string) { | |||||||
| 	t.MustCheck(want) | 	t.MustCheck(want) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func mustAbs(s string) string { | ||||||
|  | 	if !path.IsAbs(s) { | ||||||
|  | 		fatalf("[FAIL] %q is not absolute", s) | ||||||
|  | 		panic("unreachable") | ||||||
|  | 	} | ||||||
|  | 	return s | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (t *T) MustCheck(want *TestCase) { | func (t *T) MustCheck(want *TestCase) { | ||||||
| 	// check /dev/shm writable | 	checkWritableDirPaths := []string{ | ||||||
| 	if err := os.WriteFile("/dev/shm/.hakurei-check", make([]byte, 1<<8), 0600); err != nil { | 		"/dev/shm", | ||||||
| 		fatalf("[FAIL] %s", err) | 		"/tmp", | ||||||
| 	} else { | 		os.Getenv("XDG_RUNTIME_DIR"), | ||||||
| 		printf("[ OK ] /dev/shm is writable") | 	} | ||||||
|  | 	for _, a := range checkWritableDirPaths { | ||||||
|  | 		pathname := path.Join(mustAbs(a), ".hakurei-check") | ||||||
|  | 		if err := os.WriteFile(pathname, make([]byte, 1<<8), 0600); err != nil { | ||||||
|  | 			fatalf("[FAIL] %s", err) | ||||||
|  | 		} else if err = os.Remove(pathname); err != nil { | ||||||
|  | 			fatalf("[FAIL] %s", err) | ||||||
|  | 		} else { | ||||||
|  | 			printf("[ OK ] %s is writable", a) | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if want.Env != nil { | 	if want.Env != nil { | ||||||
|  | |||||||
| @ -73,7 +73,7 @@ in | |||||||
|         ptmx = fs "80001ff" null null; |         ptmx = fs "80001ff" null null; | ||||||
|         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; |         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; | ||||||
|         random = fs "42001b6" null null; |         random = fs "42001b6" null null; | ||||||
|         shm = fs "801001ff" { ".hakurei-check" = fs "180" null null; } null; |         shm = fs "801001ff" { } null; | ||||||
|         stderr = fs "80001ff" null null; |         stderr = fs "80001ff" null null; | ||||||
|         stdin = fs "80001ff" null null; |         stdin = fs "80001ff" null null; | ||||||
|         stdout = fs "80001ff" null null; |         stdout = fs "80001ff" null null; | ||||||
|  | |||||||
| @ -36,7 +36,7 @@ | |||||||
|         ptmx = fs "80001ff" null null; |         ptmx = fs "80001ff" null null; | ||||||
|         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; |         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; | ||||||
|         random = fs "42001b6" null null; |         random = fs "42001b6" null null; | ||||||
|         shm = fs "801001ff" { ".hakurei-check" = fs "180" null null; } null; |         shm = fs "801001ff" { } null; | ||||||
|         stderr = fs "80001ff" null null; |         stderr = fs "80001ff" null null; | ||||||
|         stdin = fs "80001ff" null null; |         stdin = fs "80001ff" null null; | ||||||
|         stdout = fs "80001ff" null null; |         stdout = fs "80001ff" null null; | ||||||
|  | |||||||
| @ -71,7 +71,7 @@ in | |||||||
|         ptmx = fs "80001ff" null null; |         ptmx = fs "80001ff" null null; | ||||||
|         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; |         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; | ||||||
|         random = fs "42001b6" null null; |         random = fs "42001b6" null null; | ||||||
|         shm = fs "801001ff" { ".hakurei-check" = fs "180" null null; } null; |         shm = fs "801001ff" { } null; | ||||||
|         stderr = fs "80001ff" null null; |         stderr = fs "80001ff" null null; | ||||||
|         stdin = fs "80001ff" null null; |         stdin = fs "80001ff" null null; | ||||||
|         stdout = fs "80001ff" null null; |         stdout = fs "80001ff" null null; | ||||||
|  | |||||||
| @ -70,7 +70,7 @@ in | |||||||
|         ptmx = fs "80001ff" null null; |         ptmx = fs "80001ff" null null; | ||||||
|         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; |         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; | ||||||
|         random = fs "42001b6" null null; |         random = fs "42001b6" null null; | ||||||
|         shm = fs "801001ff" { ".hakurei-check" = fs "180" null null; } null; |         shm = fs "801001ff" { } null; | ||||||
|         stderr = fs "80001ff" null null; |         stderr = fs "80001ff" null null; | ||||||
|         stdin = fs "80001ff" null null; |         stdin = fs "80001ff" null null; | ||||||
|         stdout = fs "80001ff" null null; |         stdout = fs "80001ff" null null; | ||||||
|  | |||||||
| @ -75,7 +75,7 @@ in | |||||||
|         ptmx = fs "80001ff" null null; |         ptmx = fs "80001ff" null null; | ||||||
|         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; |         pts = fs "800001ed" { ptmx = fs "42001b6" null null; } null; | ||||||
|         random = fs "42001b6" null null; |         random = fs "42001b6" null null; | ||||||
|         shm = fs "801001ff" { ".hakurei-check" = fs "180" null null; } null; |         shm = fs "801001ff" { } null; | ||||||
|         stderr = fs "80001ff" null null; |         stderr = fs "80001ff" null null; | ||||||
|         stdin = fs "80001ff" null null; |         stdin = fs "80001ff" null null; | ||||||
|         stdout = fs "80001ff" null null; |         stdout = fs "80001ff" null null; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user