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>
2022-11-28 09:48:33 -08:00
..
archtest all: remove old +build tags 2022-11-04 07:25:42 -07:00
integration ipn/ipnserver: change Server to let LocalBackend be supplied async 2022-11-28 09:48:33 -08:00
iosdeps all: remove old +build tags 2022-11-04 07:25:42 -07:00
jsdeps all: remove old +build tags 2022-11-04 07:25:42 -07:00
natlab tstest/natlab: add Firewall.Reset method to drop firewall state 2022-10-12 10:16:16 -07:00
tools all: remove old +build tags 2022-11-04 07:25:42 -07:00
allocs.go util/testingutil: new package with MinAllocsPerRun 2021-10-28 12:48:37 -07:00
clock.go all: fix spelling mistakes 2022-09-29 13:36:13 -07:00
log.go ipn/ipnlocal: fix test flake when we log after a test completes 2022-11-02 16:17:59 -04:00
log_test.go tstest: rename LogListener to LogLineTracker 2020-09-04 08:09:56 -07:00
resource.go tstest: do not error if the there are fewer goroutines than at start 2022-07-29 09:53:01 -07:00
tstest.go tstest: add WaitFor helper 2021-04-29 14:43:46 -07:00