storage/driver: decrease memory allocation done during testsuite
Signed-off-by: Stephen J Day <stephen.day@docker.com>master
							parent
							
								
									7a584f21b8
								
							
						
					
					
						commit
						9dc3c6df0e
					
				|  | @ -1135,12 +1135,19 @@ func randomFilename(length int64) string { | |||
| 	return string(b) | ||||
| } | ||||
| 
 | ||||
| func randomContents(length int64) []byte { | ||||
| 	b := make([]byte, length) | ||||
| 	for i := range b { | ||||
| 		b[i] = byte(rand.Intn(2 << 8)) | ||||
| // randomBytes pre-allocates all of the memory sizes needed for the test. If
 | ||||
| // anything panics while accessing randomBytes, just make this number bigger.
 | ||||
| var randomBytes = make([]byte, 96<<20) | ||||
| 
 | ||||
| func init() { | ||||
| 	// increase the random bytes to the required maximum
 | ||||
| 	for i := range randomBytes { | ||||
| 		randomBytes[i] = byte(rand.Intn(2 << 8)) | ||||
| 	} | ||||
| 	return b | ||||
| } | ||||
| 
 | ||||
| func randomContents(length int64) []byte { | ||||
| 	return randomBytes[:length] | ||||
| } | ||||
| 
 | ||||
| type randReader struct { | ||||
|  | @ -1151,14 +1158,14 @@ type randReader struct { | |||
| func (rr *randReader) Read(p []byte) (n int, err error) { | ||||
| 	rr.m.Lock() | ||||
| 	defer rr.m.Unlock() | ||||
| 	for i := 0; i < len(p) && rr.r > 0; i++ { | ||||
| 		p[i] = byte(rand.Intn(255)) | ||||
| 		n++ | ||||
| 		rr.r-- | ||||
| 	} | ||||
| 	if rr.r == 0 { | ||||
| 
 | ||||
| 	n = copy(p, randomContents(int64(len(p)))) | ||||
| 	rr.r -= int64(n) | ||||
| 
 | ||||
| 	if rr.r <= 0 { | ||||
| 		err = io.EOF | ||||
| 	} | ||||
| 
 | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue