Simeng He
8875967f2b
Merge branch 'main' of github.com:tailscale/tailscale into simeng-pingtest
2021-05-28 10:11:29 -04:00
Christine Dodrill
1f72b6f812
tstest/integration/vms: use dynamically discovered bindhost ( #1992 )
...
Instead of relying on a libvirtd bridge address that you probably won't
have on your system.
Updates #1988
Signed-off-by: Christine Dodrill <xe@tailscale.com >
2021-05-28 08:05:17 -04:00
Simeng He
63df9e2a4e
Merge branch 'main' of github.com:tailscale/tailscale into simeng-pingtest
2021-05-27 16:37:35 -04:00
Simeng He
bb3db20e74
2021-05-27 15:04:56 -04:00
Christine Dodrill
35749ec297
tstest/integration/vms: small cleanups ( #1989 )
...
Updates #1988
Signed-off-by: Christine Dodrill <xe@tailscale.com >
2021-05-27 14:29:29 -04:00
Simeng He
1bc78312c3
Merge branch 'main' of github.com:tailscale/tailscale into simeng-pingtest
2021-05-27 12:39:59 -04:00
Simeng He
ba4ee26313
Enough changes for a PR
2021-05-26 14:41:35 -04:00
Christine Dodrill
ba59c0391b
tstest/integration: add experimental integration test ( #1966 )
...
This will spin up a few vms and then try and make them connect to a
testcontrol server.
Updates #1988
Signed-off-by: Christine Dodrill <xe@tailscale.com >
2021-05-26 14:10:10 -04:00
Simeng He
4d00c7ef7e
Obnoxious
2021-05-26 11:10:31 -04:00
Simeng He
8cf74ee5e3
Added good integration tests for PingRequest addition
2021-05-21 12:04:04 -04:00
Simeng He
a374db1f8b
Starting an integration test
2021-05-21 10:51:16 -04:00
Simeng He
93b5da680c
Added Pingrequest addition, not hard coded added test stubs
2021-05-20 15:27:55 -04:00
Simeng He
da8b9adc51
Update todos
2021-05-19 15:55:29 -04:00
Simeng He
be14720df4
More tests added and logging
2021-05-19 10:59:31 -04:00
Simeng He
21dd79ab91
Merge branch 'main' of github.com:tailscale/tailscale into simeng-pingtest
2021-05-18 16:32:12 -04:00
simenghe
dd0b690e7b
Added new Addresses / AllowedIPs fields to testcontrol when creating tailcfg.Node ( #1948 )
...
* Added new Addresses / AllowedIPs fields to testcontrol when creating new &tailcfg.Node
Signed-off-by: Simeng He <simeng@tailscale.com >
* Added single node test to check Addresses and AllowedIPs
Signed-off-by: Simeng He <simeng@tailscale.com >
Co-authored-by: Simeng He <simeng@tailscale.com >
2021-05-18 16:20:29 -04:00
Simeng He
744300ee96
Added allowedIPs and Addresses to testcontrol nodes
2021-05-18 12:19:48 -04:00
Simeng He
7de0421f17
HTTP server added, fixing engine netmap problem
2021-05-18 09:45:04 -04:00
Simeng He
01be3630b9
Merge branch 'main' of github.com:tailscale/tailscale into simeng-pingtest
2021-05-17 11:17:35 -04:00
Simeng He
d52cf5e99b
Added Pinger interface, plumbed down to Direct, Trying some integration tests
2021-05-17 11:17:31 -04:00
Josh Bleecher Snyder
25df067dd0
all: adapt to opaque netaddr types
...
This commit is a mishmash of automated edits using gofmt:
gofmt -r 'netaddr.IPPort{IP: a, Port: b} -> netaddr.IPPortFrom(a, b)' -w .
gofmt -r 'netaddr.IPPrefix{IP: a, Port: b} -> netaddr.IPPrefixFrom(a, b)' -w .
gofmt -r 'a.IP.Is4 -> a.IP().Is4' -w .
gofmt -r 'a.IP.As16 -> a.IP().As16' -w .
gofmt -r 'a.IP.Is6 -> a.IP().Is6' -w .
gofmt -r 'a.IP.As4 -> a.IP().As4' -w .
gofmt -r 'a.IP.String -> a.IP().String' -w .
And regexps:
\w*(.*)\.Port = (.*) -> $1 = $1.WithPort($2)
\w*(.*)\.IP = (.*) -> $1 = $1.WithIP($2)
And lots of manual fixups.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-05-16 14:52:00 -07:00
Brad Fitzpatrick
5a7c6f1678
tstest/integration{,/testcontrol}: add node update support, two node test
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-05-12 14:43:43 -07:00
Brad Fitzpatrick
d32667011d
tstest/integration: build test binaries with -race if test itself is
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-05-12 13:13:08 -07:00
Brad Fitzpatrick
ed9d825552
tstest/integration: fix integration test on linux/386
...
Apparently can't use GOBIN with GOARCH.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-05-12 11:56:00 -07:00
Brad Fitzpatrick
c0158bcd0b
tstest/integration{,/testcontrol}: add testcontrol.RequireAuth mode, new test
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-05-12 11:37:27 -07:00
Josh Bleecher Snyder
78d4c561b5
types/logger: add key grinder stats lines to rate-limiting exemption list
...
Updates #1749
Co-authored-by: Brad Fitzpatrick <bradfitz@tailscale.com >
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-05-05 08:25:15 -07:00
Brad Fitzpatrick
68fb51b833
tstest/integration: misc cleanups
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-05-03 14:22:18 -07:00
Brad Fitzpatrick
3237e140c4
tstest/integration: add testNode.AwaitListening, DERP+STUN, improve proxy trap
...
Updates #1840
2021-05-03 12:14:20 -07:00
Brad Fitzpatrick
98d7c28faa
tstest/integration: start factoring test types out to clean things up
...
To enable easy multi-node testing (including inter-node traffic) later.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-04-30 20:27:05 -07:00
Brad Fitzpatrick
5e9e11a77d
tstest/integration/testcontrol: add start of test control server
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-04-29 22:51:22 -07:00
Brad Fitzpatrick
a07a504b16
tstest/integration: use go binary from runtime.GOROOT
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-04-29 17:04:29 -07:00
Brad Fitzpatrick
f342d10dc5
tstest/integration: set an HTTP_PROXY to catch bogus requests
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-04-29 16:00:02 -07:00
Brad Fitzpatrick
80429b97e5
testing: add start of an integration test
...
Only minimal tailscale + tailscaled for now.
And a super minimal in-memory logcatcher.
No control ... yet.
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-04-29 15:32:27 -07:00
Brad Fitzpatrick
08782b92f7
tstest: add WaitFor helper
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-04-29 14:43:46 -07:00
Josh Bleecher Snyder
d31eff8473
tstest/natlab: use net.ErrClosed
...
We are now on 1.16.
And wgconn.NetErrClosed has been removed upstream.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-03-24 09:46:36 -07:00
Filippo Valsorda
39f7a61e9c
tstest/staticcheck: import the main package to fix "go mod tidy"
...
Importing the non-main package was missing some dependencies that
"go mod tidy" would then cleanup. Also added a non-ignore build tag to
avoid other tools getting upset about importing a main package.
Signed-off-by: Filippo Valsorda <hi@filippo.io >
2021-02-20 09:53:47 -08:00
Josh Bleecher Snyder
138055dd70
tstest/natlab: use net.ErrClosed instead of a new error
...
Upstream wireguard-go decided to use errors.Is(err, net.ErrClosed)
instead of checking the error string.
It also provided an unsafe linknamed version of net.ErrClosed
for clients running Go 1.15. Switch to that.
This reduces the time required for the wgengine/magicsock tests
on my machine from ~35s back to the ~13s it was before
456cf8a376 .
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-02-05 13:44:46 -08:00
Josh Bleecher Snyder
e8cd7bb66f
tstest: simplify goroutine leak tests
...
Use tb.Cleanup to simplify both the API and the implementation.
One behavior change: When the number of goroutines shrinks, don't log.
I've never found these logs to be useful, and they frequently add noise.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-02-03 13:06:40 -08:00
Josh Bleecher Snyder
18471a8792
ipn: close logger at the end of TestLocalLogLines
...
If any goroutine continues to use the logger in TestLocalLogLines
after the test finishes, the test panics.
The culprit for this was wireguard-go; the previous commit fixed that.
This commit adds suspenders: When the test is done, make logging calls
into no-ops.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2021-01-08 17:10:48 -08:00
Brad Fitzpatrick
fd2a30cd32
wgengine/magicsock: make test pass on Windows and without firewall dialog box
...
Updates #50
2020-10-28 09:02:08 -07:00
Josh Bleecher Snyder
e1596d655a
tstest: skip resource check when test has failed
...
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-10-01 11:27:22 -07:00
Josh Bleecher Snyder
2e40c4b564
tstest: don't log on success
...
This is particularly important for benchmarks,
where stray output disrupts tooling.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-09-08 15:18:36 -07:00
Brad Fitzpatrick
7fddc33481
tstest: make LogLineTracker pass variadic format args through
...
Omitting the "..." passed a literal []interface{} to the underlying
logger always.
2020-09-04 08:31:43 -07:00
Brad Fitzpatrick
68c42530e9
tstest: rename LogListener to LogLineTracker
...
But mostly to rename tstest.ListenFor which has no mention of log lines in it.
It sounded like a net.Listener or something.
2020-09-04 08:09:56 -07:00
David Crawshaw
3baa084548
tstest: take testing.TB in helper for benchmarks
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2020-09-04 07:48:45 -04:00
Wendi Yu
a3fb422a39
ipn: tag and test for grinder log lines ( #711 )
...
Signed-off-by: Wendi <wendi.yu@yahoo.ca >
2020-08-25 12:42:54 -06:00
David Anderson
f794493b4f
wgengine/magicsock: explicitly check path discovery, add a firewall test.
...
The test proves that active discovery can traverse two facing firewalls.
Signed-off-by: David Anderson <danderson@tailscale.com >
2020-07-27 14:09:54 -07:00
David Anderson
5a370d545a
tstest/natlab: drop packets that can't be routed in a LAN.
...
LANs are authoritative for their prefixes, so we should not bounce
packets back and forth to the default gateway in that case.
Signed-off-by: David Anderson <danderson@tailscale.com >
2020-07-27 14:09:54 -07:00
David Anderson
45578b47f3
tstest/natlab: refactor PacketHandler into a larger interface.
...
The new interface lets implementors more precisely distinguish
local traffic from forwarded traffic, and applies different
forwarding logic within Machines for each type. This allows
Machines to be packet forwarders, which didn't quite work
with the implementation of Inject.
Signed-off-by: David Anderson <danderson@tailscale.com >
2020-07-15 14:38:33 -07:00
David Anderson
23123907c0
tstest/natlab: add a configurable SNAT44 translator.
...
This lets us implement the most common kinds of NAT in the wild.
Signed-off-by: David Anderson <danderson@tailscale.com >
2020-07-14 12:17:47 -07:00