# Functions
AllowRecording allows the calling test to be used with a recording of the fixture.
BuildFixture will compile the fixture 'name' using the provided build flags.
DefaultTestBackend changes the value of testBackend to be the default test backend for the OS, if testBackend isn't already set.
FindFixturesDir will search for the directory holding all test fixtures beginning with the current directory and searching up 10 directories.
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.
MustSupportFunctionCalls skips this test if function calls are unsupported on this backend/architecture pair.
RunTestsWithFixtures sets the flag runningWithFixtures to compile fixtures on demand and runs tests with m.Run().
SafeRemoveAll removes dir and its contents but only as long as dir does not contain directories.
TempFile makes a (good enough) random temporary file name.
WithPlugins builds the fixtures in plugins as plugins and returns them.
# Constants
EnableCGOOptimization will build CGO code with optimizations.
EnableDWZCompression will enable DWZ compression of DWARF sections.
EnableInlining will build a binary with inline optimizations turned on.
EnableOptimization will build a binary with default optimizations.
LinkDisableDWARF enables '-ldflags="-w"'.
LinkStrip enables '-ldflags="-s"'.
# Variables
EnableRace allows to configure whether the race detector is enabled on target process.
PathsToRemove is a list of files and directories to remove after running all the tests.
# Type aliases
BuildFlags used to build fixture.