Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var EnableRace = flag.Bool("racetarget", false, "Enables race detector on inferior process")
Fixtures is a map of Fixture.Name to Fixture.
Functions ¶
func AllowRecording ¶ added in v1.0.0
AllowRecording allows the calling test to be used with a recording of the fixture.
func FindFixturesDir ¶
func FindFixturesDir() string
func MustHaveRecordingAllowed ¶ added in v1.0.0
MustHaveRecordingAllowed skips this test if recording is not allowed
Not all the tests can be run with a recording:
- some fixtures never terminate independently (loopprog, testnextnethttp) and can not be recorded
- some tests assume they can interact with the target process (for example TestIssue419, or anything changing the value of a variable), which we can't do on with a recording
- some tests assume that the Pid returned by the process is valid, but it won't be at replay time
- some tests will start the fixture but not never execute a single instruction, for some reason rr doesn't like this and will print an error if it happens
- many tests will assume that we can return from a runtime.Breakpoint, with a recording this is not possible because when the fixture ran it wasn't attached to a debugger and in those circumstances a runtime.Breakpoint leads directly to a crash
Some of the tests using runtime.Breakpoint (anything involving variable evaluation and TestWorkDir) have been adapted to work with a recording.
func RunTestsWithFixtures ¶
RunTestsWithFixtures will pre-compile test fixtures before running test methods. Test binaries are deleted before exiting.
func SafeRemoveAll ¶ added in v1.0.0
func SafeRemoveAll(dir string)
SafeRemoveAll removes dir and its contents but only as long as dir does not contain directories.
Types ¶
type BuildFlags ¶ added in v1.0.0
type BuildFlags uint32
const ( LinkStrip BuildFlags = 1 << iota EnableCGOOptimization )
type Fixture ¶
type Fixture struct { // Name is the short name of the fixture. Name string // Path is the absolute path to the test binary. Path string // Source is the absolute path of the test binary source. Source string }
Fixture is a test binary.
func BuildFixture ¶
func BuildFixture(name string, flags BuildFlags) Fixture
Click to show internal directories.
Click to hide internal directories.