| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Package test implements initalization for unit and integration tests. |
| // |
| // V23Init can be used within test functions as a safe alternative to v23.Init. |
| // It sets up the context so that only localhost ports are used for |
| // communication. |
| // |
| // func TestFoo(t *testing.T) { |
| // ctx, shutdown := test.V23Init() |
| // defer shutdown() |
| // ... |
| // } |
| // |
| // This package also defines flags for enabling and controlling the Vanadium |
| // integration tests in package v.io/x/ref/test/v23test: |
| // --v23.tests - run the integration tests |
| // --v23.tests.shell-on-fail - drop into a debug shell if the test fails |
| // |
| // Typical usage is: |
| // $ jiri go test . --v23.tests |
| // |
| // Note that, like all flags not recognized by the go testing package, the |
| // --v23.tests flags must follow the package spec. |
| // |
| // Subdirectories provide utilities for unit and integration tests. |
| // |
| // The subdirectories are: |
| // benchmark - support for writing benchmarks. |
| // testutil - utility functions used in tests. |
| // security - security-related utility functions used in tests. |
| // timekeeper - an implementation of the timekeeper interface for use within |
| // tests. |
| // expect - support for testing the contents of of an input stream (an |
| // io.Reader). v23test.Cmd contains an expect.Session, so this |
| // package is generally not used directly. |
| // v23test - defines Shell, which provides support for spawning and managing |
| // subprocesses with configurable credentials. |
| |
| package test |