Documentation ¶
Overview ¶
Package test provides common Perkeep test objects.
Index ¶
- Variables
- func BrokenTest(t *testing.T)
- func DependencyErrorOrSkip(t *testing.T)
- func Diff(a, b []byte) string
- func MustRunCmd(t testing.TB, c *exec.Cmd) string
- func NewLogger(t *testing.T, prefix string, quietPhrases ...string) *log.Logger
- func RunCmd(c *exec.Cmd) (output string, err error)
- func TLog(t testing.TB) func()
- func WaitFor(condition func() bool, maxWait, checkInterval time.Duration) bool
- type Blob
- func (tb *Blob) AssertMatches(t *testing.T, sb blob.SizedRef)
- func (tb *Blob) Blob() *blob.Blob
- func (tb *Blob) BlobRef() blob.Ref
- func (tb *Blob) BlobRefSlice() []blob.Ref
- func (tb *Blob) MustUpload(t *testing.T, ds blobstore.BlobReceiver)
- func (tb *Blob) Reader() io.Reader
- func (tb *Blob) Size() uint32
- func (tb *Blob) SizedRef() blob.SizedRef
- type Fetcher
- func (tf *Fetcher) AddBlob(b *Blob)
- func (tf *Fetcher) Fetch(ctx context.Context, ref blob.Ref) (file io.ReadCloser, size uint32, err error)
- func (tf *Fetcher) ReceiveBlob(ctx context.Context, br blob.Ref, source io.Reader) (blob.SizedRef, error)
- func (tf *Fetcher) SubFetch(ctx context.Context, ref blob.Ref, offset, length int64) (io.ReadCloser, error)
- type Loader
- func (ld *Loader) AllHandlers() (map[string]string, map[string]interface{})
- func (ld *Loader) BaseURL() string
- func (ld *Loader) FindHandlerByType(handlerType string) (prefix string, handler interface{}, err error)
- func (ld *Loader) GetHandler(prefix string) (interface{}, error)
- func (ld *Loader) GetHandlerType(prefix string) string
- func (ld *Loader) GetStorage(prefix string) (blobstore.Storage, error)
- func (ld *Loader) MyPrefix() string
- func (ld *Loader) SetStorage(prefix string, s blobstore.Storage)
- type World
- func (w *World) Addr() string
- func (w *World) Build() error
- func (w *World) ClientIdentity() string
- func (w *World) Cmd(binary string, args ...string) *exec.Cmd
- func (w *World) CmdWithEnv(binary string, env []string, args ...string) *exec.Cmd
- func (w *World) Help() ([]byte, error)
- func (w *World) NewPermanode(t *testing.T) blob.Ref
- func (w *World) Ping() error
- func (w *World) SearchHandlerPath() string
- func (w *World) SecretRingFile() string
- func (w *World) ServerBaseURL() string
- func (w *World) ServerBinary() string
- func (w *World) SourceRoot() string
- func (w *World) Start() error
- func (w *World) Stop()
Constants ¶
This section is empty.
Variables ¶
var ClockOrigin = time.Unix(1322443956, 123456)
ClockOrigin is an arbitrary contemporary date that can be used as a starting time in tests. It is 2011-11-28 01:32:36.000123456 +0000 UTC.
Functions ¶
func BrokenTest ¶
BrokenTest marks the test as broken and calls t.Skip, unless the environment variable RUN_BROKEN_TESTS is set to 1 (or some other boolean true value).
func DependencyErrorOrSkip ¶
DependencyErrorOrSkip is called when a test's dependency isn't found. It either skips the current test (if SKIP_DEP_TESTS is set), or calls t.Error with an error.
func MustRunCmd ¶
MustRunCmd wraps RunCmd, failing t if RunCmd returns an error.
func NewLogger ¶
NewLogger returns a logger that logs to t with the given prefix.
The optional quietPhrases are substrings to match in writes to determine whether those log messages are muted.
func RunCmd ¶
RunCmd runs c (which is assumed to be something short-lived, like a pk-put or pk-get command), capturing its stdout for return, and also capturing its stderr, just in the case of errors. If there's an error, the return error fully describes the command and all output.
Types ¶
type Blob ¶
type Blob struct {
Contents string // the contents of the blob
}
Blob is a utility class for unit tests.
func RandomBlob ¶
RandomBlob returns a random blob with the provided number of bytes.
func (*Blob) BlobRefSlice ¶
func (*Blob) MustUpload ¶
func (tb *Blob) MustUpload(t *testing.T, ds blobstore.BlobReceiver)
type Fetcher ¶
type Fetcher struct { memory.Storage // ReceiveErr optionally returns the error to return on receive. ReceiveErr error // FetchErr, if non-nil, specifies the error to return on the next fetch call. // If it returns nil, fetches proceed as normal. FetchErr func() error }
Fetcher is an in-memory implementation of the blobstore Storage interface. It started as just a fetcher and grew. It also includes other convenience methods for testing.
func (*Fetcher) ReceiveBlob ¶
type Loader ¶
type Loader struct {
// contains filtered or unexported fields
}
func (*Loader) AllHandlers ¶
func (*Loader) FindHandlerByType ¶
func (*Loader) GetHandler ¶
func (*Loader) GetHandlerType ¶
type World ¶
type World struct {
// contains filtered or unexported fields
}
World defines an integration test world.
It's used to run the actual Perkeep binaries (perkeepd, pk-put, pk-get, pk, etc) together in large tests, including building them, finding them, and wiring them up in an isolated way.
func GetWorld ¶
GetWorld returns (creating if necessary) a test singleton world. It calls Fatal on the provided test if there are problems.
func GetWorldMaybe ¶
GetWorldMaybe returns the current World. It might be nil.
func NewWorld ¶
NewWorld returns a new test world. It uses the GOPATH (explicit or implicit) to find the "perkeep.org" root.
func WorldFromConfig ¶
WorldFromConfig returns a new test world based on the given configuration file. This cfg is the server config relative to pkg/test/testdata. It uses the GOPATH (explicit or implicit) to find the "perkeep.org" root.
func (*World) ClientIdentity ¶
ClientIdentity returns the GPG identity to use in World tests, suitable for setting in CAMLI_KEYID.
func (*World) CmdWithEnv ¶
func (*World) SearchHandlerPath ¶
SearchHandlerPath returns the path to the search handler, with trailing slash.
func (*World) SecretRingFile ¶
SecretRingFile returns the GnuPG secret ring, suitable for setting in CAMLI_SECRET_RING.
func (*World) ServerBaseURL ¶
func (*World) ServerBinary ¶
ServerBinary returns the location of the perkeepd binary running for this World.
func (*World) SourceRoot ¶
SourceRoot returns the root of the source tree.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package asserts provides a bad implementation of test predicate helpers.
|
Package asserts provides a bad implementation of test predicate helpers. |