An open source, self-hosted implementation of the Tailscale control server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Kristoffer Dalby 1c6bfc503c
fix preauth key logging in as previous user (#1920)
2 weeks ago
..
dockertestutil give ci more tollerance for timeouts 8 months ago
hsic batch updates in notifier (#1905) 3 weeks ago
integrationutil Add go profiling flag, and enable on integration tests (#1382) 1 year ago
tsic Rework map session 1 month ago
README.md Add section about running locally 1 year ago
acl_test.go metrics, tuning in tests, db cleanups, fix concurrency issue (#1895) 4 weeks ago
auth_oidc_test.go metrics, tuning in tests, db cleanups, fix concurrency issue (#1895) 4 weeks ago
auth_web_flow_test.go metrics, tuning in tests, db cleanups, fix concurrency issue (#1895) 4 weeks ago
cli_test.go fix preauth key logging in as previous user (#1920) 2 weeks ago
control.go Rename Machine to Node (#1553) 8 months ago
embedded_derp_test.go metrics, tuning in tests, db cleanups, fix concurrency issue (#1895) 4 weeks ago
general_test.go metrics, tuning in tests, db cleanups, fix concurrency issue (#1895) 4 weeks ago
route_test.go batch updates in notifier (#1905) 3 weeks ago
run.sh implement selfupdate and pass expiry (#1647) 5 months ago
scenario.go metrics, tuning in tests, db cleanups, fix concurrency issue (#1895) 4 weeks ago
scenario_test.go metrics, tuning in tests, db cleanups, fix concurrency issue (#1895) 4 weeks ago
ssh_test.go metrics, tuning in tests, db cleanups, fix concurrency issue (#1895) 4 weeks ago
tailscale.go Rework map session 1 month ago
utils.go Rework map session 1 month ago

README.md

Integration testing

Headscale relies on integration testing to ensure we remain compatible with Tailscale.

This is typically performed by starting a Headscale server and running a test "scenario" with an array of Tailscale clients and versions.

Headscale's test framework and the current set of scenarios are defined in this directory.

Tests are located in files ending with _test.go and the framework are located in the rest.

Running integration tests locally

The easiest way to run tests locally is to use [act](INSERT LINK), a local GitHub Actions runner:

act pull_request -W .github/workflows/test-integration-v2-TestPingAllByIP.yaml

Alternatively, the docker run command in each GitHub workflow file can be used.

Running integration tests on GitHub Actions

Each test currently runs as a separate workflows in GitHub actions, to add new test, run go generate inside ../cmd/gh-action-integration-generator/ and commit the result.