mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
internal: testutil: add DevZero helper
This helper acts like /dev/zero (outputs \x00 indefinitely) in an
OS-independent fashion. This ensures we don't need to special-case
around Windows in tests that want to open /dev/zero.
Signed-off-by: Aleksa Sarai <asarai@suse.de>
(cherry picked from commit 2f8d3e1c33)
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
This commit is contained in:
committed by
Silvin Lubecki
parent
374d7a3df9
commit
2d3aca0774
@@ -1,6 +1,8 @@
|
||||
package testutil
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -11,3 +13,15 @@ func ErrorContains(t require.TestingT, err error, expectedError string, msgAndAr
|
||||
require.Error(t, err, msgAndArgs...)
|
||||
assert.Contains(t, err.Error(), expectedError, msgAndArgs...)
|
||||
}
|
||||
|
||||
// DevZero acts like /dev/zero but in an OS-independent fashion.
|
||||
var DevZero io.Reader = devZero{}
|
||||
|
||||
type devZero struct{}
|
||||
|
||||
func (d devZero) Read(p []byte) (n int, err error) {
|
||||
for i := 0; i < len(p); i++ {
|
||||
p[i] = '\x00'
|
||||
}
|
||||
return len(p), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user