Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 16 additions & 7 deletions toolchaintest/README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,30 @@
# Toolchain Tests
# Toolchain tests

Tests for Microsoft-specific Go toolchain behavior, kept outside the upstream Go patch set. The repository's build and CI test runners run this module alongside the upstream tests.
This module tests Microsoft-specific Go toolchain behavior.
It's maintained outside the upstream Go patch set.
The repository's build and CI test runners run this module alongside the upstream tests.

After [building the toolchain](../eng/doc/DeveloperGuide.md#build-the-go-toolchain), run from this directory:
After [building the toolchain](../eng/doc/DeveloperGuide.md#build-the-go-toolchain), run this command from the current directory:

```sh
../go/bin/go test -count=1
```

On Windows, use `..\go\bin\go.exe`.
On Windows:

The CLI tests default to the Go executable in the running test binary's GOROOT. To use a different toolchain, including when running the tests with a bootstrap Go installation:
```pwsh
..\go\bin\go.exe test -count=1
```

By default, the CLI tests use the Go executable in the test binary's `GOROOT`.
To use a different toolchain, such as when you run the tests with a bootstrap Go installation, specify the Go executable:

```sh
go test -count=1 -go=/path/to/microsoft-go/bin/go
```

The public `go/build` API tests use the toolchain that compiles the test binary. Run the module with the built Microsoft Go executable to test both APIs and CLI behavior with that toolchain.
The public `go/build` API tests use the toolchain that compiled the test binary.
Run the module with the built Microsoft build of Go executable to test the API and CLI behavior of that toolchain.

The module has no external dependencies. It covers system-crypto build tags, cross-compilation, build information, and FIPS-mode command behavior.
The module has no external dependencies.
It tests system-crypto build tags, cross-compilation, build information, and FIPS-mode command behavior.
Loading