You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/tstest
Brad Fitzpatrick e8cc78b1af ipn/ipnserver: change Server to let LocalBackend be supplied async
This is step 1 of de-special-casing of Windows and letting the
LocalAPI HTTP server start serving immediately, even while the rest of
the world (notably the Engine and its TUN device) are being created,
which can take a few to dozens of seconds on Windows.

With this change, the ipnserver.New function changes to not take an
Engine and to return immediately, not returning an error, and let its
Run run immediately. If its ServeHTTP is called when it doesn't yet
have a LocalBackend, it returns an error. A TODO in there shows where
a future handler will serve status before an engine is available.

Future changes will:

* delete a bunch of tailscaled_windows.go code and use this new API
* add the ipnserver.Server ServerHTTP handler to await the engine
  being available
* use that handler in the Windows GUI client

Updates #6522

Change-Id: Iae94e68c235e850b112a72ea24ad0e0959b568ee
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2 years ago
..
archtest all: remove old +build tags 2 years ago
integration ipn/ipnserver: change Server to let LocalBackend be supplied async 2 years ago
iosdeps all: remove old +build tags 2 years ago
jsdeps all: remove old +build tags 2 years ago
natlab tstest/natlab: add Firewall.Reset method to drop firewall state 2 years ago
tools all: remove old +build tags 2 years ago
allocs.go util/testingutil: new package with MinAllocsPerRun 3 years ago
clock.go all: fix spelling mistakes 2 years ago
log.go ipn/ipnlocal: fix test flake when we log after a test completes 2 years ago
log_test.go tstest: rename LogListener to LogLineTracker 4 years ago
resource.go tstest: do not error if the there are fewer goroutines than at start 2 years ago
tstest.go tstest: add WaitFor helper 4 years ago