Skip to content

Instantly share code, notes, and snippets.

@ralfonso
Last active February 17, 2023 21:52
Show Gist options
  • Save ralfonso/d00c6a32feaae3dae83ca36f85152a53 to your computer and use it in GitHub Desktop.
Save ralfonso/d00c6a32feaae3dae83ca36f85152a53 to your computer and use it in GitHub Desktop.
➜ make
make -C proto protoc
make[1]: Entering directory '/home/r2/code/ext/go-ipam/proto'
docker run --rm \
--entrypoint sh \
-v /home/r2/code/ext/go-ipam/proto/..:/workspace \
-w /workspace/proto \
bufbuild/buf:1.14.0 \
-c "buf format -w api/v1 && chown -R 1000:1000 /workspace"
docker run --rm \
--entrypoint sh \
-v /home/r2/code/ext/go-ipam/proto/..:/workspace \
-w /workspace/proto \
bufbuild/buf:1.14.0 \
-c "buf lint -v && chown -R 1000:1000 /workspace"
docker run --rm \
--entrypoint sh \
-v /home/r2/code/ext/go-ipam/proto/..:/workspace \
-w /workspace/proto \
bufbuild/buf:1.14.0 \
-c "buf generate -v && chown -R 1000:1000 /workspace"
make[1]: Leaving directory '/home/r2/code/ext/go-ipam/proto'
go build -tags netgo,osusergo,urfave_cli_no_docs \
-ldflags "-extldflags '-static -s -w' -X 'github.com/metal-stack/v.Version=devel' \
-X 'github.com/metal-stack/v.Revision=heads/fix-postgres-connection-string-0-g3618201' \
-X 'github.com/metal-stack/v.GitSHA1=3618201f' \
-X 'github.com/metal-stack/v.BuildDate=2023-02-17T09:04:47-08:00'" \
-o bin/server github.com/metal-stack/go-ipam/cmd/server
strip bin/server
go build -tags netgo,osusergo,urfave_cli_no_docs \
-ldflags "-extldflags '-static -s -w' -X 'github.com/metal-stack/v.Version=devel' \
-X 'github.com/metal-stack/v.Revision=heads/fix-postgres-connection-string-0-g3618201' \
-X 'github.com/metal-stack/v.GitSHA1=3618201f' \
-X 'github.com/metal-stack/v.BuildDate=2023-02-17T09:04:47-08:00'" \
-o bin/cli github.com/metal-stack/go-ipam/cmd/client
strip bin/cli
CGO_ENABLED=1 go test ./... -coverprofile=coverage.out -covermode=atomic && go tool cover -func=coverage.out
Using postgres:15-alpine cockroach:latest-v22.2 redis:7.0-alpine keydb:latest etcd:v3.5.7 mongodb:6.0.4-jammy
2023/02/17 09:04:53 github.com/testcontainers/testcontainers-go - Connected to docker:
Server Version: 20.10.12
API Version: 1.41
Operating System: Pop!_OS 22.04 LTS
Total Memory: 128683 MB
2023/02/17 09:04:54 Starting container id: e69872a21c9f image: docker.io/testcontainers/ryuk:0.3.4
2023/02/17 09:04:54 Waiting for container id e69872a21c9f image: docker.io/testcontainers/ryuk:0.3.4
2023/02/17 09:04:54 Container is ready id: e69872a21c9f image: docker.io/testcontainers/ryuk:0.3.4
2023/02/17 09:04:54 Starting container id: 2cc2de10a2bf image: postgres:15-alpine
2023/02/17 09:04:55 Waiting for container id 2cc2de10a2bf image: postgres:15-alpine
2023/02/17 09:04:56 Container is ready id: 2cc2de10a2bf image: postgres:15-alpine
2023/02/17 09:04:56 Starting container id: 08bea7754651 image: quay.io/coreos/etcd:v3.5.7
2023/02/17 09:04:56 Container is ready id: 08bea7754651 image: quay.io/coreos/etcd:v3.5.7
2023/02/17 09:04:58 Starting container id: c9cddecd0366 image: cockroachdb/cockroach:latest-v22.2
2023/02/17 09:04:58 Waiting for container id c9cddecd0366 image: cockroachdb/cockroach:latest-v22.2
2023/02/17 09:05:00 Container is ready id: c9cddecd0366 image: cockroachdb/cockroach:latest-v22.2
2023/02/17 09:05:00 Starting container id: ca1d7c9a98d9 image: redis:7.0-alpine
2023/02/17 09:05:01 Waiting for container id ca1d7c9a98d9 image: redis:7.0-alpine
2023/02/17 09:05:01 Container is ready id: ca1d7c9a98d9 image: redis:7.0-alpine
2023/02/17 09:05:01 Starting container id: 8d1a4051dec2 image: eqalpha/keydb:latest
2023/02/17 09:05:02 Waiting for container id 8d1a4051dec2 image: eqalpha/keydb:latest
2023/02/17 09:05:02 Container is ready id: 8d1a4051dec2 image: eqalpha/keydb:latest
2023/02/17 09:05:02 Starting container id: de9f1a11eb35 image: mongo:6.0.4-jammy
2023/02/17 09:05:03 Waiting for container id de9f1a11eb35 image: mongo:6.0.4-jammy
2023/02/17 09:05:03 Container is ready id: de9f1a11eb35 image: mongo:6.0.4-jammy
coverage: 63.2% of statements
panic: test timed out after 10m0s
goroutine 50771 [running]:
testing.(*M).startAlarm.func1()
/home/r2/sdk/go1.19/src/testing/testing.go:2036 +0x8e
created by time.goFunc
/home/r2/sdk/go1.19/src/time/sleep.go:176 +0x32
goroutine 1 [chan receive, 9 minutes]:
testing.(*T).Run(0xc0004889c0, {0x10d44a1?, 0x51d0e5?}, 0x112c380)
/home/r2/sdk/go1.19/src/testing/testing.go:1494 +0x37a
testing.runTests.func1(0xc0004889c0?)
/home/r2/sdk/go1.19/src/testing/testing.go:1846 +0x6e
testing.tRunner(0xc0004889c0, 0xc00045fbb0)
/home/r2/sdk/go1.19/src/testing/testing.go:1446 +0x10b
testing.runTests(0xc000001f40?, {0x19ebac0, 0x30, 0x30}, {0x1?, 0x6e?, 0x19f8960?})
/home/r2/sdk/go1.19/src/testing/testing.go:1844 +0x456
testing.(*M).Run(0xc000001f40)
/home/r2/sdk/go1.19/src/testing/testing.go:1726 +0x5d9
github.com/metal-stack/go-ipam.TestMain(0x0?)
/home/r2/code/ext/go-ipam/testing_test.go:71 +0x4cf
main.main()
_testmain.go:227 +0x28f
goroutine 50296 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f61440df018, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc003c7e180?, 0xc003b3b000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc003c7e180, {0xc003b3b000, 0x1000, 0x1000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc003c7e180, {0xc003b3b000?, 0x0?, 0x18b3?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000014998, {0xc003b3b000?, 0x24?, 0xc003c7e198?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
bufio.(*Reader).Read(0xc00daf22a0, {0xc003b34620, 0x5, 0xc003be53b0?})
/home/r2/sdk/go1.19/src/bufio/bufio.go:237 +0x1bb
io.ReadAtLeast({0x12e1d40, 0xc00daf22a0}, {0xc003b34620, 0x5, 0x200}, 0x5)
/home/r2/sdk/go1.19/src/io/io.go:332 +0x9a
io.ReadFull(...)
/home/r2/sdk/go1.19/src/io/io.go:351
github.com/lib/pq.(*conn).recvMessage(0xc003b34600, 0xc00e5c0d80)
/home/r2/go/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:1004 +0xca
github.com/lib/pq.(*conn).recv(0xc003b34600)
/home/r2/go/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:1034 +0x45
github.com/lib/pq.(*conn).startup(0xc003b34600, 0xc00013c000?)
/home/r2/go/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:1175 +0x6b6
github.com/lib/pq.(*Connector).open(0xc00e5c0d38, {0x12ec0f8, 0xc00013c000})
/home/r2/go/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:378 +0x4c5
github.com/lib/pq.DialOpen({0x12e7d20?, 0xc00d37de00}, {0xc00fc7e680?, 0xc003be57b0?})
/home/r2/go/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:328 +0x7b
github.com/lib/pq.Open(...)
/home/r2/go/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:318
github.com/lib/pq.Driver.Open({}, {0xc00fc7e680, 0x45})
/home/r2/go/pkg/mod/github.com/lib/pq@v1.10.7/conn.go:56 +0x85
database/sql.dsnConnector.Connect(...)
/home/r2/sdk/go1.19/src/database/sql/sql.go:759
database/sql.(*DB).conn(0xc000617930, {0x12ec0f8, 0xc00013c000}, 0x1)
/home/r2/sdk/go1.19/src/database/sql/sql.go:1393 +0x763
database/sql.(*DB).PingContext(0x10c84d6?, {0x12ec0f8, 0xc00013c000})
/home/r2/sdk/go1.19/src/database/sql/sql.go:851 +0x78
database/sql.(*DB).Ping(...)
/home/r2/sdk/go1.19/src/database/sql/sql.go:873
github.com/jmoiron/sqlx.Connect({0x10c84d6?, 0x8?}, {0xc00fc7e680?, 0x7?})
/home/r2/go/pkg/mod/github.com/jmoiron/sqlx@v1.3.5/sqlx.go:642 +0x4a
github.com/metal-stack/go-ipam.newPostgres({0x10c9481?, 0x4086d8?}, {0xc00cdb1fc0?, 0xc003be5b4f?}, {0x10c84d6?, 0xc003be5b98?}, {0x10c847e?, 0xc000494b40?}, {0x10c84d6, 0x8}, ...)
/home/r2/code/ext/go-ipam/postgres.go:62 +0xb5
github.com/metal-stack/go-ipam.startPostgres()
/home/r2/code/ext/go-ipam/testing_test.go:105 +0x15f
github.com/metal-stack/go-ipam.newPostgresWithCleanup()
/home/r2/code/ext/go-ipam/testing_test.go:338 +0x1d
github.com/metal-stack/go-ipam.storageProviders.func3()
/home/r2/code/ext/go-ipam/testing_test.go:566 +0x19
github.com/metal-stack/go-ipam.testWithBackends(0xc00e5fd6c0, 0xc00d37dbc0)
/home/r2/code/ext/go-ipam/testing_test.go:496 +0x102
github.com/metal-stack/go-ipam.TestIpamer_AcquireIP(0xc00e5fd520?)
/home/r2/code/ext/go-ipam/prefix_test.go:131 +0x585
testing.tRunner(0xc00e5fd6c0, 0x112c380)
/home/r2/sdk/go1.19/src/testing/testing.go:1446 +0x10b
created by testing.(*T).Run
/home/r2/sdk/go1.19/src/testing/testing.go:1493 +0x35f
goroutine 71 [chan receive, 9 minutes]:
github.com/testcontainers/testcontainers-go.(*Reaper).Connect.func1({0x12f0828?, 0xc00054c0b0})
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:151 +0x6e5
created by github.com/testcontainers/testcontainers-go.(*Reaper).Connect
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:116 +0x195
goroutine 15 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f6146054fe0, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc0000fe880?, 0xc00016d000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0000fe880, {0xc00016d000, 0x1000, 0x1000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc0000fe880, {0xc00016d000?, 0x408131?, 0x4?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000140f0, {0xc00016d000?, 0x0?, 0x0?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
net/http.(*persistConn).Read(0xc000364900, {0xc00016d000?, 0xc000116180?, 0xc00070fd30?})
/home/r2/sdk/go1.19/src/net/http/transport.go:1929 +0x4e
bufio.(*Reader).fill(0xc0000fa3c0)
/home/r2/sdk/go1.19/src/bufio/bufio.go:106 +0xff
bufio.(*Reader).Peek(0xc0000fa3c0, 0x1)
/home/r2/sdk/go1.19/src/bufio/bufio.go:144 +0x5d
net/http.(*persistConn).readLoop(0xc000364900)
/home/r2/sdk/go1.19/src/net/http/transport.go:2093 +0x1ac
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1751 +0x173e
goroutine 16 [select, 9 minutes]:
net/http.(*persistConn).writeLoop(0xc000364900)
/home/r2/sdk/go1.19/src/net/http/transport.go:2392 +0xf5
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1752 +0x1791
goroutine 129 [select, 9 minutes]:
google.golang.org/grpc.(*ccBalancerWrapper).watcher(0xc00037a740)
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/balancer_conn_wrappers.go:115 +0x73
created by google.golang.org/grpc.newCCBalancerWrapper
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/balancer_conn_wrappers.go:76 +0x22a
goroutine 198 [chan receive, 9 minutes]:
github.com/testcontainers/testcontainers-go.(*Reaper).Connect.func1({0x12f0828?, 0xc00012a228})
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:151 +0x6e5
created by github.com/testcontainers/testcontainers-go.(*Reaper).Connect
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:116 +0x195
goroutine 181 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f6146054b30, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc00043f400?, 0xc0001f4000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00043f400, {0xc0001f4000, 0x1000, 0x1000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00043f400, {0xc0001f4000?, 0x408131?, 0x4?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000014080, {0xc0001f4000?, 0x0?, 0x0?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
net/http.(*persistConn).Read(0xc000176360, {0xc0001f4000?, 0xc00004c660?, 0xc00070cd30?})
/home/r2/sdk/go1.19/src/net/http/transport.go:1929 +0x4e
bufio.(*Reader).fill(0xc0000faba0)
/home/r2/sdk/go1.19/src/bufio/bufio.go:106 +0xff
bufio.(*Reader).Peek(0xc0000faba0, 0x1)
/home/r2/sdk/go1.19/src/bufio/bufio.go:144 +0x5d
net/http.(*persistConn).readLoop(0xc000176360)
/home/r2/sdk/go1.19/src/net/http/transport.go:2093 +0x1ac
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1751 +0x173e
goroutine 182 [select, 9 minutes]:
net/http.(*persistConn).writeLoop(0xc000176360)
/home/r2/sdk/go1.19/src/net/http/transport.go:2392 +0xf5
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1752 +0x1791
goroutine 242 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f6146054d10, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc000208680?, 0xc000278000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000208680, {0xc000278000, 0x8000, 0x8000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000208680, {0xc000278000?, 0x1045080?, 0x435001?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc00012a1d0, {0xc000278000?, 0xc0004d7b60?, 0x800010601?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
bufio.(*Reader).Read(0xc000360780, {0xc00018a120, 0x9, 0x18?})
/home/r2/sdk/go1.19/src/bufio/bufio.go:237 +0x1bb
io.ReadAtLeast({0x12e1d40, 0xc000360780}, {0xc00018a120, 0x9, 0x9}, 0x9)
/home/r2/sdk/go1.19/src/io/io.go:332 +0x9a
io.ReadFull(...)
/home/r2/sdk/go1.19/src/io/io.go:351
golang.org/x/net/http2.readFrameHeader({0xc00018a120?, 0x9?, 0xea7fda39?}, {0x12e1d40?, 0xc000360780?})
/home/r2/go/pkg/mod/golang.org/x/net@v0.6.0/http2/frame.go:237 +0x6e
golang.org/x/net/http2.(*Framer).ReadFrame(0xc00018a0e0)
/home/r2/go/pkg/mod/golang.org/x/net@v0.6.0/http2/frame.go:498 +0x95
google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc00035a240, 0x0?)
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/http2_client.go:1597 +0x265
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/http2_client.go:394 +0x1c3b
goroutine 243 [select, 9 minutes]:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc0000fc550, 0x1)
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/controlbuf.go:416 +0x115
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc000360840)
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/controlbuf.go:534 +0x85
google.golang.org/grpc/internal/transport.newHTTP2Client.func6()
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/http2_client.go:448 +0x6d
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/http2_client.go:446 +0x2293
goroutine 50341 [select, 9 minutes]:
net/http.(*persistConn).writeLoop(0xc000176c60)
/home/r2/sdk/go1.19/src/net/http/transport.go:2392 +0xf5
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1752 +0x1791
goroutine 50750 [select]:
go.mongodb.org/mongo-driver/internal.(*CancellationListener).Listen(0xc00064bc10, {0x12ec0c0, 0xc003bda4c0}, 0xc000228520)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/internal/cancellation_listener.go:30 +0x78
created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*connection).read
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/connection.go:421 +0x185
goroutine 50447 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f61440df4c8, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc002cfb980?, 0xc003b18000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc002cfb980, {0xc003b18000, 0x1000, 0x1000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc002cfb980, {0xc003b18000?, 0x408131?, 0x4?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0000148f8, {0xc003b18000?, 0x0?, 0x0?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
net/http.(*persistConn).Read(0xc003a85560, {0xc003b18000?, 0xc003b8a180?, 0xc0046f9d30?})
/home/r2/sdk/go1.19/src/net/http/transport.go:1929 +0x4e
bufio.(*Reader).fill(0xc00d37d440)
/home/r2/sdk/go1.19/src/bufio/bufio.go:106 +0xff
bufio.(*Reader).Peek(0xc00d37d440, 0x1)
/home/r2/sdk/go1.19/src/bufio/bufio.go:144 +0x5d
net/http.(*persistConn).readLoop(0xc003a85560)
/home/r2/sdk/go1.19/src/net/http/transport.go:2093 +0x1ac
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1751 +0x173e
goroutine 50448 [select, 9 minutes]:
net/http.(*persistConn).writeLoop(0xc003a85560)
/home/r2/sdk/go1.19/src/net/http/transport.go:2392 +0xf5
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1752 +0x1791
goroutine 50432 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f61440df978, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc009f4b680?, 0xc003a08000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc009f4b680, {0xc003a08000, 0x8000, 0x8000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc009f4b680, {0xc003a08000?, 0x1045080?, 0x435001?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000492418, {0xc003a08000?, 0xc0035a09c0?, 0x800010601?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
bufio.(*Reader).Read(0xc00cdffb60, {0xc0001d62e0, 0x9, 0x18?})
/home/r2/sdk/go1.19/src/bufio/bufio.go:237 +0x1bb
io.ReadAtLeast({0x12e1d40, 0xc00cdffb60}, {0xc0001d62e0, 0x9, 0x9}, 0x9)
/home/r2/sdk/go1.19/src/io/io.go:332 +0x9a
io.ReadFull(...)
/home/r2/sdk/go1.19/src/io/io.go:351
golang.org/x/net/http2.readFrameHeader({0xc0001d62e0?, 0x9?, 0x1c6f30f3f?}, {0x12e1d40?, 0xc00cdffb60?})
/home/r2/go/pkg/mod/golang.org/x/net@v0.6.0/http2/frame.go:237 +0x6e
golang.org/x/net/http2.(*Framer).ReadFrame(0xc0001d62a0)
/home/r2/go/pkg/mod/golang.org/x/net@v0.6.0/http2/frame.go:498 +0x95
google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc00017db00, 0x0?)
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/http2_client.go:1597 +0x265
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/http2_client.go:394 +0x1c3b
goroutine 97 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f61440df888, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc000afe380?, 0xc0035ac000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000afe380, {0xc0035ac000, 0x1000, 0x1000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000afe380, {0xc0035ac000?, 0x408131?, 0x4?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc00012b6a8, {0xc0035ac000?, 0x0?, 0x0?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
net/http.(*persistConn).Read(0xc0035aa360, {0xc0035ac000?, 0xc003a80c00?, 0xc00ebaad30?})
/home/r2/sdk/go1.19/src/net/http/transport.go:1929 +0x4e
bufio.(*Reader).fill(0xc00cc7ec00)
/home/r2/sdk/go1.19/src/bufio/bufio.go:106 +0xff
bufio.(*Reader).Peek(0xc00cc7ec00, 0x1)
/home/r2/sdk/go1.19/src/bufio/bufio.go:144 +0x5d
net/http.(*persistConn).readLoop(0xc0035aa360)
/home/r2/sdk/go1.19/src/net/http/transport.go:2093 +0x1ac
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1751 +0x173e
goroutine 50472 [chan receive, 9 minutes]:
github.com/testcontainers/testcontainers-go.(*Reaper).Connect.func1({0x12f0828?, 0xc000492548})
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:151 +0x6e5
created by github.com/testcontainers/testcontainers-go.(*Reaper).Connect
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:116 +0x195
goroutine 50425 [select, 9 minutes]:
google.golang.org/grpc.(*ccBalancerWrapper).watcher(0xc000225b80)
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/balancer_conn_wrappers.go:115 +0x73
created by google.golang.org/grpc.newCCBalancerWrapper
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/balancer_conn_wrappers.go:76 +0x22a
goroutine 50340 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f6146054950, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc000d2e400?, 0xc00f82c000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000d2e400, {0xc00f82c000, 0x1000, 0x1000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000d2e400, {0xc00f82c000?, 0x408131?, 0x4?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc00f82a020, {0xc00f82c000?, 0x0?, 0x0?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
net/http.(*persistConn).Read(0xc000176c60, {0xc00f82c000?, 0xc00e8fc2a0?, 0xc006c1dd30?})
/home/r2/sdk/go1.19/src/net/http/transport.go:1929 +0x4e
bufio.(*Reader).fill(0xc00e8d2d20)
/home/r2/sdk/go1.19/src/bufio/bufio.go:106 +0xff
bufio.(*Reader).Peek(0xc00e8d2d20, 0x1)
/home/r2/sdk/go1.19/src/bufio/bufio.go:144 +0x5d
net/http.(*persistConn).readLoop(0xc000176c60)
/home/r2/sdk/go1.19/src/net/http/transport.go:2093 +0x1ac
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1751 +0x173e
goroutine 50347 [chan receive, 9 minutes]:
github.com/testcontainers/testcontainers-go.(*Reaper).Connect.func1({0x12f0828?, 0xc00f82a068})
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:151 +0x6e5
created by github.com/testcontainers/testcontainers-go.(*Reaper).Connect
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:116 +0x195
goroutine 50406 [IO wait, 9 minutes]:
internal/poll.runtime_pollWait(0x7f61460543b0, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc00307ae00?, 0xc003821000?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00307ae00, {0xc003821000, 0x1000, 0x1000})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00307ae00, {0xc003821000?, 0x408131?, 0x4?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0003d01e0, {0xc003821000?, 0x0?, 0x0?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
net/http.(*persistConn).Read(0xc0001f0fc0, {0xc003821000?, 0xc00073db00?, 0xc00a09ad30?})
/home/r2/sdk/go1.19/src/net/http/transport.go:1929 +0x4e
bufio.(*Reader).fill(0xc00bbfd0e0)
/home/r2/sdk/go1.19/src/bufio/bufio.go:106 +0xff
bufio.(*Reader).Peek(0xc00bbfd0e0, 0x1)
/home/r2/sdk/go1.19/src/bufio/bufio.go:144 +0x5d
net/http.(*persistConn).readLoop(0xc0001f0fc0)
/home/r2/sdk/go1.19/src/net/http/transport.go:2093 +0x1ac
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1751 +0x173e
goroutine 50407 [select, 9 minutes]:
net/http.(*persistConn).writeLoop(0xc0001f0fc0)
/home/r2/sdk/go1.19/src/net/http/transport.go:2392 +0xf5
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1752 +0x1791
goroutine 50466 [chan receive, 9 minutes]:
github.com/testcontainers/testcontainers-go.(*Reaper).Connect.func1({0x12f0828?, 0xc000492450})
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:151 +0x6e5
created by github.com/testcontainers/testcontainers-go.(*Reaper).Connect
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:116 +0x195
goroutine 50411 [chan receive, 9 minutes]:
github.com/testcontainers/testcontainers-go.(*Reaper).Connect.func1({0x12f0828?, 0xc0003d0220})
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:151 +0x6e5
created by github.com/testcontainers/testcontainers-go.(*Reaper).Connect
/home/r2/go/pkg/mod/github.com/testcontainers/testcontainers-go@v0.17.0/reaper.go:116 +0x195
goroutine 50450 [select, 9 minutes]:
net/http.(*persistConn).writeLoop(0xc0035aa360)
/home/r2/sdk/go1.19/src/net/http/transport.go:2392 +0xf5
created by net/http.(*Transport).dialConn
/home/r2/sdk/go1.19/src/net/http/transport.go:1752 +0x1791
goroutine 50379 [select, 9 minutes]:
database/sql.(*DB).connectionOpener(0xc005384820, {0x12ec0c0, 0xc00fc6ce80})
/home/r2/sdk/go1.19/src/database/sql/sql.go:1224 +0x8d
created by database/sql.OpenDB
/home/r2/sdk/go1.19/src/database/sql/sql.go:792 +0x18d
goroutine 50460 [select]:
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*rttMonitor).runHellos(0xc003b8e7e0, 0xc00036e500)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/rtt_monitor.go:141 +0x12d
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*rttMonitor).start(0xc003b8e7e0)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/rtt_monitor.go:115 +0x145
created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*rttMonitor).connect
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/rtt_monitor.go:78 +0x6a
goroutine 50457 [sync.Cond.Wait, 9 minutes]:
sync.runtime_notifyListWait(0xc00f811810, 0x1)
/home/r2/sdk/go1.19/src/runtime/sema.go:517 +0x14c
sync.(*Cond).Wait(0xc00d0663c8?)
/home/r2/sdk/go1.19/src/sync/cond.go:70 +0x8c
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).createConnections.func2()
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/pool.go:805 +0xeb
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).createConnections(0xc003bce000, {0x12ec0c0, 0xc00f811840}, 0x12e2100?)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/pool.go:827 +0x12a
created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.newPool
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/pool.go:195 +0x6d8
goroutine 50461 [IO wait]:
internal/poll.runtime_pollWait(0x7f61440df108, 0x72)
/home/r2/sdk/go1.19/src/runtime/netpoll.go:305 +0x89
internal/poll.(*pollDesc).wait(0xc006ffe280?, 0xc00cf386dc?, 0x0)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:84 +0x32
internal/poll.(*pollDesc).waitRead(...)
/home/r2/sdk/go1.19/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc006ffe280, {0xc00cf386dc, 0x4, 0x4})
/home/r2/sdk/go1.19/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc006ffe280, {0xc00cf386dc?, 0x100000112e170?, 0x40c56d?})
/home/r2/sdk/go1.19/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000492690, {0xc00cf386dc?, 0xc003ca1610?, 0x40d476?})
/home/r2/sdk/go1.19/src/net/net.go:183 +0x45
io.ReadAtLeast({0x12e3e00, 0xc000492690}, {0xc00cf386dc, 0x4, 0x4}, 0x4)
/home/r2/sdk/go1.19/src/io/io.go:332 +0x9a
io.ReadFull(...)
/home/r2/sdk/go1.19/src/io/io.go:351
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*connection).read(0xc00025ea00, {0x12ec0c0?, 0xc003bda4c0}, {0xc003bca800, 0x0, 0x400})
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/connection.go:440 +0x245
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*connection).readWireMessage(0xc00025ea00, {0x12ec0c0, 0xc003bda4c0}, {0xc003bca800, 0x0, 0x400})
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/connection.go:402 +0x1ea
go.mongodb.org/mongo-driver/x/mongo/driver/topology.initConnection.ReadWireMessage({0x0?}, {0x12ec0c0?, 0xc003bda4c0?}, {0xc003bca800?, 0x0?, 0x0?})
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/connection.go:568 +0x28
go.mongodb.org/mongo-driver/x/mongo/driver.Operation.readWireMessage({0xc000228500, {0x10c4106, 0x5}, {0x12e7de8, 0xc0002284f0}, 0xc000228510, {0x0, 0x0}, 0x0, 0x0, ...}, ...)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/operation.go:867 +0x76
go.mongodb.org/mongo-driver/x/mongo/driver.Operation.ExecuteExhaust({0xc000228500, {0x10c4106, 0x5}, {0x12e7de8, 0xc0002284f0}, 0xc000228510, {0x0, 0x0}, 0x0, 0x0, ...}, ...)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/operation_exhaust.go:27 +0x166
go.mongodb.org/mongo-driver/x/mongo/driver/operation.(*Hello).StreamResponse(0xc0003ceb40, {0x12ec0c0, 0xc003bda4c0}, {0x12f25e0, 0xc00025ea00})
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/operation/hello.go:202 +0x178
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*Server).check(_)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/server.go:772 +0x831
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*Server).update(0xc0013f1b00)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/server.go:537 +0x385
created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*Server).Connect
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/server.go:207 +0x1c5
goroutine 50458 [sync.Cond.Wait, 9 minutes]:
sync.runtime_notifyListWait(0xc00f811810, 0x2)
/home/r2/sdk/go1.19/src/runtime/sema.go:517 +0x14c
sync.(*Cond).Wait(0x408630?)
/home/r2/sdk/go1.19/src/sync/cond.go:70 +0x8c
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).createConnections.func2()
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/pool.go:805 +0xeb
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).createConnections(0xc003bce000, {0x12ec0c0, 0xc00f811840}, 0x0?)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/pool.go:827 +0x12a
created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.newPool
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/pool.go:195 +0x6d8
goroutine 50459 [select]:
go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).maintain(0xc003bce000, {0x12ec0c0, 0xc00f811840}, 0x0?)
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/pool.go:914 +0x218
created by go.mongodb.org/mongo-driver/x/mongo/driver/topology.newPool
/home/r2/go/pkg/mod/go.mongodb.org/mongo-driver@v1.11.2/x/mongo/driver/topology/pool.go:202 +0x8aa
goroutine 50433 [select, 9 minutes]:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc002d58ff0, 0x1)
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/controlbuf.go:416 +0x115
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc00cdffc20)
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/controlbuf.go:534 +0x85
google.golang.org/grpc/internal/transport.newHTTP2Client.func6()
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/http2_client.go:448 +0x6d
created by google.golang.org/grpc/internal/transport.newHTTP2Client
/home/r2/go/pkg/mod/google.golang.org/grpc@v1.53.0/internal/transport/http2_client.go:446 +0x2293
goroutine 50495 [select, 9 minutes]:
database/sql.(*DB).connectionOpener(0xc000617930, {0x12ec0c0, 0xc003afd140})
/home/r2/sdk/go1.19/src/database/sql/sql.go:1224 +0x8d
created by database/sql.OpenDB
/home/r2/sdk/go1.19/src/database/sql/sql.go:792 +0x18d
goroutine 50306 [select, 9 minutes]:
database/sql.(*DB).connectionOpener(0xc00071b5f0, {0x12ec0c0, 0xc000224280})
/home/r2/sdk/go1.19/src/database/sql/sql.go:1224 +0x8d
created by database/sql.OpenDB
/home/r2/sdk/go1.19/src/database/sql/sql.go:792 +0x18d
FAIL github.com/metal-stack/go-ipam 600.029s
? github.com/metal-stack/go-ipam/api/v1 [no test files]
? github.com/metal-stack/go-ipam/api/v1/apiv1connect [no test files]
? github.com/metal-stack/go-ipam/cmd/client [no test files]
? github.com/metal-stack/go-ipam/cmd/server [no test files]
ok github.com/metal-stack/go-ipam/pkg/service 0.038s coverage: 43.2% of statements
ok github.com/metal-stack/go-ipam/pkg/service/test 0.006s coverage: [no statements] [no tests to run]
FAIL
make: *** [Makefile:31: test] Error 1
➜ go version
go version go1.19 linux/amd64
# I added -v to show verbose output since the testcontainers logs are otherwise suppressed if the tests pass.
➜ make test
CGO_ENABLED=1 go test ./... -coverprofile=coverage.out -covermode=atomic -v && go tool cover -func=coverage.out
Using postgres:15-alpine cockroach:latest-v22.2 redis:7.0-alpine keydb:latest etcd:v3.5.7 mongodb:6.0.4-jammy
=== RUN TestIntegration
2023/02/17 13:45:53 github.com/testcontainers/testcontainers-go - Connected to docker:
Server Version: 20.10.12
API Version: 1.41
Operating System: Pop!_OS 22.04 LTS
Total Memory: 15650 MB
2023/02/17 13:45:53 Starting container id: 9815ac8490b3 image: docker.io/testcontainers/ryuk:0.3.4
2023/02/17 13:45:54 Waiting for container id 9815ac8490b3 image: docker.io/testcontainers/ryuk:0.3.4
2023/02/17 13:45:54 Container is ready id: 9815ac8490b3 image: docker.io/testcontainers/ryuk:0.3.4
2023/02/17 13:45:54 Starting container id: 4afbf056b03b image: postgres:15-alpine
2023/02/17 13:45:54 Waiting for container id 4afbf056b03b image: postgres:15-alpine
2023/02/17 13:45:56 Container is ready id: 4afbf056b03b image: postgres:15-alpine
integration_test.go:70: available prefix:10.128.0.0/19 smallest left:2048 sum:2048
integration_test.go:70: available prefix:10.128.32.0/20 smallest left:1024 sum:3072
integration_test.go:70: available prefix:10.128.48.0/22 smallest left:256 sum:3328
integration_test.go:70: available prefix:10.128.56.0/21 smallest left:512 sum:3840
integration_test.go:70: available prefix:10.128.64.0/20 smallest left:1024 sum:4864
integration_test.go:70: available prefix:10.128.80.0/21 smallest left:512 sum:5376
integration_test.go:70: available prefix:10.128.88.0/22 smallest left:256 sum:5632
integration_test.go:70: available prefix:10.128.96.0/20 smallest left:1024 sum:6656
integration_test.go:70: available prefix:10.128.116.0/22 smallest left:256 sum:6912
integration_test.go:70: available prefix:10.128.120.0/21 smallest left:512 sum:7424
integration_test.go:70: available prefix:10.128.128.0/19 smallest left:2048 sum:9472
integration_test.go:70: available prefix:10.128.160.0/22 smallest left:256 sum:9728
integration_test.go:70: available prefix:10.128.168.0/21 smallest left:512 sum:10240
integration_test.go:70: available prefix:10.128.176.0/20 smallest left:1024 sum:11264
integration_test.go:70: available prefix:10.128.192.0/19 smallest left:2048 sum:13312
integration_test.go:70: available prefix:10.128.224.0/20 smallest left:1024 sum:14336
integration_test.go:70: available prefix:10.128.240.0/22 smallest left:256 sum:14592
integration_test.go:70: available prefix:10.128.248.0/21 smallest left:512 sum:15104
integration_test.go:70: available prefix:10.129.0.0/20 smallest left:1024 sum:16128
integration_test.go:70: available prefix:10.129.16.0/21 smallest left:512 sum:16640
integration_test.go:70: available prefix:10.129.24.0/22 smallest left:256 sum:16896
integration_test.go:70: available prefix:10.129.32.0/19 smallest left:2048 sum:18944
integration_test.go:70: available prefix:10.129.64.0/19 smallest left:2048 sum:20992
integration_test.go:70: available prefix:10.129.96.0/20 smallest left:1024 sum:22016
integration_test.go:70: available prefix:10.129.116.0/22 smallest left:256 sum:22272
integration_test.go:70: available prefix:10.129.120.0/21 smallest left:512 sum:22784
integration_test.go:70: available prefix:10.129.128.0/18 smallest left:4096 sum:26880
integration_test.go:70: available prefix:10.129.192.0/19 smallest left:2048 sum:28928
integration_test.go:70: available prefix:10.129.224.0/21 smallest left:512 sum:29440
integration_test.go:70: available prefix:10.129.236.0/22 smallest left:256 sum:29696
integration_test.go:70: available prefix:10.129.240.0/20 smallest left:1024 sum:30720
integration_test.go:70: available prefix:10.130.0.0/19 smallest left:2048 sum:32768
integration_test.go:70: available prefix:10.130.32.0/22 smallest left:256 sum:33024
integration_test.go:70: available prefix:10.130.40.0/21 smallest left:512 sum:33536
integration_test.go:70: available prefix:10.130.48.0/20 smallest left:1024 sum:34560
integration_test.go:70: available prefix:10.130.64.0/19 smallest left:2048 sum:36608
integration_test.go:70: available prefix:10.130.96.0/20 smallest left:1024 sum:37632
integration_test.go:70: available prefix:10.130.116.0/22 smallest left:256 sum:37888
integration_test.go:70: available prefix:10.130.120.0/21 smallest left:512 sum:38400
integration_test.go:70: available prefix:10.130.128.0/19 smallest left:2048 sum:40448
integration_test.go:70: available prefix:10.130.160.0/20 smallest left:1024 sum:41472
integration_test.go:70: available prefix:10.130.180.0/22 smallest left:256 sum:41728
integration_test.go:70: available prefix:10.130.184.0/22 smallest left:256 sum:41984
integration_test.go:70: available prefix:10.130.192.0/18 smallest left:4096 sum:46080
integration_test.go:70: available prefix:10.131.0.0/20 smallest left:1024 sum:47104
integration_test.go:70: available prefix:10.131.20.0/22 smallest left:256 sum:47360
integration_test.go:70: available prefix:10.131.24.0/21 smallest left:512 sum:47872
integration_test.go:70: available prefix:10.131.32.0/21 smallest left:512 sum:48384
integration_test.go:70: available prefix:10.131.48.0/20 smallest left:1024 sum:49408
integration_test.go:70: available prefix:10.131.68.0/22 smallest left:256 sum:49664
integration_test.go:70: available prefix:10.131.72.0/21 smallest left:512 sum:50176
integration_test.go:70: available prefix:10.131.80.0/20 smallest left:1024 sum:51200
integration_test.go:70: available prefix:10.131.96.0/19 smallest left:2048 sum:53248
integration_test.go:70: available prefix:10.131.128.0/18 smallest left:4096 sum:57344
integration_test.go:70: available prefix:10.131.192.0/19 smallest left:2048 sum:59392
integration_test.go:70: available prefix:10.131.228.0/22 smallest left:256 sum:59648
integration_test.go:70: available prefix:10.131.236.0/22 smallest left:256 sum:59904
integration_test.go:70: available prefix:10.131.240.0/20 smallest left:1024 sum:60928
--- PASS: TestIntegration (3.12s)
=== RUN TestIntegrationP
--- PASS: TestIntegrationP (0.06s)
=== RUN TestIntegrationEtcd
2023/02/17 13:45:56 Starting container id: b77fd26c59d2 image: quay.io/coreos/etcd:v3.5.7
2023/02/17 13:45:57 Container is ready id: b77fd26c59d2 image: quay.io/coreos/etcd:v3.5.7
--- PASS: TestIntegrationEtcd (1.44s)
=== RUN TestPrefixes_JSON
--- PASS: TestPrefixes_JSON (0.00s)
=== RUN Test_ReadPrefix
--- PASS: Test_ReadPrefix (0.00s)
=== RUN Test_UpdatePrefix
--- PASS: Test_UpdatePrefix (0.00s)
=== RUN Test_UpdatePrefix_Concurrent
--- PASS: Test_UpdatePrefix_Concurrent (0.13s)
=== RUN TestDatasource
=== RUN TestDatasource/basic,_no_escape
=== RUN TestDatasource/username_and_password_with_escape_chars
=== RUN TestDatasource/spaces_are_not_allowed_in_username/password
=== RUN TestDatasource/space_allowed_in_dbname
=== RUN TestDatasource/empty_password
--- PASS: TestDatasource (0.00s)
--- PASS: TestDatasource/basic,_no_escape (0.00s)
--- PASS: TestDatasource/username_and_password_with_escape_chars (0.00s)
--- PASS: TestDatasource/spaces_are_not_allowed_in_username/password (0.00s)
--- PASS: TestDatasource/space_allowed_in_dbname (0.00s)
--- PASS: TestDatasource/empty_password (0.00s)
=== RUN TestIPRangeOverlapping
--- PASS: TestIPRangeOverlapping (0.00s)
=== RUN TestIpamer_AcquireIP
=== RUN TestIpamer_AcquireIP/Memory
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.1.0/24", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.1.0":true, "192.168.1.255":true}, version:0}
=== RUN TestIpamer_AcquireIP/Postgres
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.1.0/24", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.1.0":true, "192.168.1.255":true}, version:0}
2023/02/17 13:45:58 Starting container id: 1bcf80510eaf image: cockroachdb/cockroach:latest-v22.2
2023/02/17 13:45:58 Waiting for container id 1bcf80510eaf image: cockroachdb/cockroach:latest-v22.2
2023/02/17 13:46:02 Container is ready id: 1bcf80510eaf image: cockroachdb/cockroach:latest-v22.2
=== RUN TestIpamer_AcquireIP/Cockroach
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.1.0/24", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.1.0":true, "192.168.1.255":true}, version:0}
2023/02/17 13:46:02 Starting container id: ee6d4e7ce02c image: redis:7.0-alpine
2023/02/17 13:46:02 Waiting for container id ee6d4e7ce02c image: redis:7.0-alpine
2023/02/17 13:46:02 Container is ready id: ee6d4e7ce02c image: redis:7.0-alpine
=== RUN TestIpamer_AcquireIP/Redis
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.1.0/24", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.1.0":true, "192.168.1.255":true}, version:0}
=== RUN TestIpamer_AcquireIP/Etcd
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.1.0/24", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.1.0":true, "192.168.1.255":true}, version:0}
2023/02/17 13:46:03 Starting container id: a93477b23d4d image: eqalpha/keydb:latest
2023/02/17 13:46:03 Waiting for container id a93477b23d4d image: eqalpha/keydb:latest
2023/02/17 13:46:04 Container is ready id: a93477b23d4d image: eqalpha/keydb:latest
=== RUN TestIpamer_AcquireIP/KeyDB
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.1.0/24", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.1.0":true, "192.168.1.255":true}, version:0}
2023/02/17 13:46:04 Starting container id: 4e98eea519eb image: mongo:6.0.4-jammy
2023/02/17 13:46:04 Waiting for container id 4e98eea519eb image: mongo:6.0.4-jammy
2023/02/17 13:46:05 Container is ready id: 4e98eea519eb image: mongo:6.0.4-jammy
=== RUN TestIpamer_AcquireIP/MongoDB
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.1.0/24", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.1.0":true, "192.168.1.255":true}, version:0}
=== RUN TestIpamer_AcquireIP/Memory#01
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Postgres#01
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Cockroach#01
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Redis#01
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Etcd#01
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/KeyDB#01
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/MongoDB#01
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Memory#02
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.2.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.2.0":true, "192.168.2.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Postgres#02
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.2.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.2.0":true, "192.168.2.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Cockroach#02
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.2.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.2.0":true, "192.168.2.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Redis#02
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.2.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.2.0":true, "192.168.2.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Etcd#02
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.2.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.2.0":true, "192.168.2.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/KeyDB#02
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.2.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.2.0":true, "192.168.2.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/MongoDB#02
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.2.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.2.0":true, "192.168.2.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Memory#03
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Postgres#03
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Cockroach#03
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Redis#03
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Etcd#03
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/KeyDB#03
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/MongoDB#03
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/124", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Memory#04
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.3.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.3.0":true, "192.168.3.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Postgres#04
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.3.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.3.0":true, "192.168.3.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Cockroach#04
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.3.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.3.0":true, "192.168.3.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Redis#04
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.3.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.3.0":true, "192.168.3.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Etcd#04
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.3.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.3.0":true, "192.168.3.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/KeyDB#04
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.3.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.3.0":true, "192.168.3.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/MongoDB#04
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.3.0/30", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.3.0":true, "192.168.3.3":true}, version:0}
=== RUN TestIpamer_AcquireIP/Memory#05
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.4.0/32", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.4.0":true}, version:0}
=== RUN TestIpamer_AcquireIP/Postgres#05
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.4.0/32", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.4.0":true}, version:0}
=== RUN TestIpamer_AcquireIP/Cockroach#05
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.4.0/32", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.4.0":true}, version:0}
=== RUN TestIpamer_AcquireIP/Redis#05
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.4.0/32", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.4.0":true}, version:0}
=== RUN TestIpamer_AcquireIP/Etcd#05
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.4.0/32", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.4.0":true}, version:0}
=== RUN TestIpamer_AcquireIP/KeyDB#05
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.4.0/32", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.4.0":true}, version:0}
=== RUN TestIpamer_AcquireIP/MongoDB#05
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"192.168.4.0/32", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"192.168.4.0":true}, version:0}
=== RUN TestIpamer_AcquireIP/Memory#06
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/126", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Postgres#06
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/126", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Cockroach#06
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/126", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Redis#06
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/126", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Etcd#06
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/126", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/KeyDB#06
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/126", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/MongoDB#06
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/126", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Memory#07
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/128", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Postgres#07
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/128", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Cockroach#07
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/128", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Redis#07
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/128", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/Etcd#07
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/128", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/KeyDB#07
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/128", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
=== RUN TestIpamer_AcquireIP/MongoDB#07
prefix_test.go:136: Prefix:&ipam.Prefix{Cidr:"2001:db8:85a3::/128", ParentCidr:"", isParent:false, availableChildPrefixes:map[string]bool{}, childPrefixLength:0, ips:map[string]bool{"2001:db8:85a3::":true}, version:0}
--- PASS: TestIpamer_AcquireIP (13.67s)
--- PASS: TestIpamer_AcquireIP/Memory (0.00s)
--- PASS: TestIpamer_AcquireIP/Postgres (0.01s)
--- PASS: TestIpamer_AcquireIP/Cockroach (0.02s)
--- PASS: TestIpamer_AcquireIP/Redis (0.00s)
--- PASS: TestIpamer_AcquireIP/Etcd (0.00s)
--- PASS: TestIpamer_AcquireIP/KeyDB (0.01s)
--- PASS: TestIpamer_AcquireIP/MongoDB (0.01s)
--- PASS: TestIpamer_AcquireIP/Memory#01 (0.00s)
--- PASS: TestIpamer_AcquireIP/Postgres#01 (0.01s)
--- PASS: TestIpamer_AcquireIP/Cockroach#01 (0.01s)
--- PASS: TestIpamer_AcquireIP/Redis#01 (0.00s)
--- PASS: TestIpamer_AcquireIP/Etcd#01 (0.00s)
--- PASS: TestIpamer_AcquireIP/KeyDB#01 (0.00s)
--- PASS: TestIpamer_AcquireIP/MongoDB#01 (0.01s)
--- PASS: TestIpamer_AcquireIP/Memory#02 (0.00s)
--- PASS: TestIpamer_AcquireIP/Postgres#02 (0.01s)
--- PASS: TestIpamer_AcquireIP/Cockroach#02 (0.01s)
--- PASS: TestIpamer_AcquireIP/Redis#02 (0.00s)
--- PASS: TestIpamer_AcquireIP/Etcd#02 (0.00s)
--- PASS: TestIpamer_AcquireIP/KeyDB#02 (0.00s)
--- PASS: TestIpamer_AcquireIP/MongoDB#02 (0.01s)
--- PASS: TestIpamer_AcquireIP/Memory#03 (0.00s)
--- PASS: TestIpamer_AcquireIP/Postgres#03 (0.00s)
--- PASS: TestIpamer_AcquireIP/Cockroach#03 (0.01s)
--- PASS: TestIpamer_AcquireIP/Redis#03 (0.00s)
--- PASS: TestIpamer_AcquireIP/Etcd#03 (0.00s)
--- PASS: TestIpamer_AcquireIP/KeyDB#03 (0.00s)
--- PASS: TestIpamer_AcquireIP/MongoDB#03 (0.01s)
--- PASS: TestIpamer_AcquireIP/Memory#04 (0.00s)
--- PASS: TestIpamer_AcquireIP/Postgres#04 (0.00s)
--- PASS: TestIpamer_AcquireIP/Cockroach#04 (0.03s)
--- PASS: TestIpamer_AcquireIP/Redis#04 (0.00s)
--- PASS: TestIpamer_AcquireIP/Etcd#04 (0.01s)
--- PASS: TestIpamer_AcquireIP/KeyDB#04 (0.00s)
--- PASS: TestIpamer_AcquireIP/MongoDB#04 (0.01s)
--- PASS: TestIpamer_AcquireIP/Memory#05 (0.00s)
--- PASS: TestIpamer_AcquireIP/Postgres#05 (0.00s)
--- PASS: TestIpamer_AcquireIP/Cockroach#05 (0.01s)
--- PASS: TestIpamer_AcquireIP/Redis#05 (0.00s)
--- PASS: TestIpamer_AcquireIP/Etcd#05 (0.00s)
--- PASS: TestIpamer_AcquireIP/KeyDB#05 (0.00s)
--- PASS: TestIpamer_AcquireIP/MongoDB#05 (0.01s)
--- PASS: TestIpamer_AcquireIP/Memory#06 (0.00s)
--- PASS: TestIpamer_AcquireIP/Postgres#06 (0.00s)
--- PASS: TestIpamer_AcquireIP/Cockroach#06 (0.01s)
--- PASS: TestIpamer_AcquireIP/Redis#06 (0.00s)
--- PASS: TestIpamer_AcquireIP/Etcd#06 (0.00s)
--- PASS: TestIpamer_AcquireIP/KeyDB#06 (0.00s)
--- PASS: TestIpamer_AcquireIP/MongoDB#06 (0.01s)
--- PASS: TestIpamer_AcquireIP/Memory#07 (0.00s)
--- PASS: TestIpamer_AcquireIP/Postgres#07 (0.00s)
--- PASS: TestIpamer_AcquireIP/Cockroach#07 (0.00s)
--- PASS: TestIpamer_AcquireIP/Redis#07 (0.00s)
--- PASS: TestIpamer_AcquireIP/Etcd#07 (0.00s)
--- PASS: TestIpamer_AcquireIP/KeyDB#07 (0.00s)
--- PASS: TestIpamer_AcquireIP/MongoDB#07 (0.01s)
=== RUN TestIpamer_ReleaseIPFromPrefixIPv4
=== RUN TestIpamer_ReleaseIPFromPrefixIPv4/Memory
=== RUN TestIpamer_ReleaseIPFromPrefixIPv4/Postgres
=== RUN TestIpamer_ReleaseIPFromPrefixIPv4/Cockroach
=== RUN TestIpamer_ReleaseIPFromPrefixIPv4/Redis
=== RUN TestIpamer_ReleaseIPFromPrefixIPv4/Etcd
=== RUN TestIpamer_ReleaseIPFromPrefixIPv4/KeyDB
=== RUN TestIpamer_ReleaseIPFromPrefixIPv4/MongoDB
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv4 (0.12s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv4/Memory (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv4/Postgres (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv4/Cockroach (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv4/Redis (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv4/Etcd (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv4/KeyDB (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv4/MongoDB (0.01s)
=== RUN TestIpamer_ReleaseIPFromPrefixIPv6
=== RUN TestIpamer_ReleaseIPFromPrefixIPv6/Memory
=== RUN TestIpamer_ReleaseIPFromPrefixIPv6/Postgres
=== RUN TestIpamer_ReleaseIPFromPrefixIPv6/Cockroach
=== RUN TestIpamer_ReleaseIPFromPrefixIPv6/Redis
=== RUN TestIpamer_ReleaseIPFromPrefixIPv6/Etcd
=== RUN TestIpamer_ReleaseIPFromPrefixIPv6/KeyDB
=== RUN TestIpamer_ReleaseIPFromPrefixIPv6/MongoDB
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv6 (0.19s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv6/Memory (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv6/Postgres (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv6/Cockroach (0.02s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv6/Redis (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv6/Etcd (0.01s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv6/KeyDB (0.00s)
--- PASS: TestIpamer_ReleaseIPFromPrefixIPv6/MongoDB (0.01s)
=== RUN TestIpamer_AcquireSpecificIP
=== RUN TestIpamer_AcquireSpecificIP/Memory
=== RUN TestIpamer_AcquireSpecificIP/Postgres
=== RUN TestIpamer_AcquireSpecificIP/Cockroach
=== RUN TestIpamer_AcquireSpecificIP/Redis
=== RUN TestIpamer_AcquireSpecificIP/Etcd
=== RUN TestIpamer_AcquireSpecificIP/KeyDB
=== RUN TestIpamer_AcquireSpecificIP/MongoDB
--- PASS: TestIpamer_AcquireSpecificIP (0.45s)
--- PASS: TestIpamer_AcquireSpecificIP/Memory (0.00s)
--- PASS: TestIpamer_AcquireSpecificIP/Postgres (0.04s)
--- PASS: TestIpamer_AcquireSpecificIP/Cockroach (0.13s)
--- PASS: TestIpamer_AcquireSpecificIP/Redis (0.00s)
--- PASS: TestIpamer_AcquireSpecificIP/Etcd (0.03s)
--- PASS: TestIpamer_AcquireSpecificIP/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireSpecificIP/MongoDB (0.01s)
=== RUN TestIpamer_AcquireIPCountsIPv4
=== RUN TestIpamer_AcquireIPCountsIPv4/Memory
=== RUN TestIpamer_AcquireIPCountsIPv4/Postgres
=== RUN TestIpamer_AcquireIPCountsIPv4/Cockroach
=== RUN TestIpamer_AcquireIPCountsIPv4/Redis
=== RUN TestIpamer_AcquireIPCountsIPv4/Etcd
=== RUN TestIpamer_AcquireIPCountsIPv4/KeyDB
=== RUN TestIpamer_AcquireIPCountsIPv4/MongoDB
--- PASS: TestIpamer_AcquireIPCountsIPv4 (0.11s)
--- PASS: TestIpamer_AcquireIPCountsIPv4/Memory (0.00s)
--- PASS: TestIpamer_AcquireIPCountsIPv4/Postgres (0.01s)
--- PASS: TestIpamer_AcquireIPCountsIPv4/Cockroach (0.02s)
--- PASS: TestIpamer_AcquireIPCountsIPv4/Redis (0.00s)
--- PASS: TestIpamer_AcquireIPCountsIPv4/Etcd (0.01s)
--- PASS: TestIpamer_AcquireIPCountsIPv4/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireIPCountsIPv4/MongoDB (0.01s)
=== RUN TestIpamer_AcquireIPCountsIPv6
=== RUN TestIpamer_AcquireIPCountsIPv6/Memory
=== RUN TestIpamer_AcquireIPCountsIPv6/Postgres
=== RUN TestIpamer_AcquireIPCountsIPv6/Cockroach
=== RUN TestIpamer_AcquireIPCountsIPv6/Redis
=== RUN TestIpamer_AcquireIPCountsIPv6/Etcd
=== RUN TestIpamer_AcquireIPCountsIPv6/KeyDB
=== RUN TestIpamer_AcquireIPCountsIPv6/MongoDB
--- PASS: TestIpamer_AcquireIPCountsIPv6 (0.10s)
--- PASS: TestIpamer_AcquireIPCountsIPv6/Memory (0.00s)
--- PASS: TestIpamer_AcquireIPCountsIPv6/Postgres (0.01s)
--- PASS: TestIpamer_AcquireIPCountsIPv6/Cockroach (0.01s)
--- PASS: TestIpamer_AcquireIPCountsIPv6/Redis (0.00s)
--- PASS: TestIpamer_AcquireIPCountsIPv6/Etcd (0.01s)
--- PASS: TestIpamer_AcquireIPCountsIPv6/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireIPCountsIPv6/MongoDB (0.01s)
=== RUN TestIpamer_AcquireChildPrefixFragmented
=== RUN TestIpamer_AcquireChildPrefixFragmented/Memory
=== RUN TestIpamer_AcquireChildPrefixFragmented/Postgres
=== RUN TestIpamer_AcquireChildPrefixFragmented/Cockroach
=== RUN TestIpamer_AcquireChildPrefixFragmented/Redis
=== RUN TestIpamer_AcquireChildPrefixFragmented/Etcd
=== RUN TestIpamer_AcquireChildPrefixFragmented/KeyDB
=== RUN TestIpamer_AcquireChildPrefixFragmented/MongoDB
--- PASS: TestIpamer_AcquireChildPrefixFragmented (0.13s)
--- PASS: TestIpamer_AcquireChildPrefixFragmented/Memory (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixFragmented/Postgres (0.01s)
--- PASS: TestIpamer_AcquireChildPrefixFragmented/Cockroach (0.02s)
--- PASS: TestIpamer_AcquireChildPrefixFragmented/Redis (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixFragmented/Etcd (0.01s)
--- PASS: TestIpamer_AcquireChildPrefixFragmented/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixFragmented/MongoDB (0.01s)
=== RUN TestIpamer_AcquireChildPrefixCounts
=== RUN TestIpamer_AcquireChildPrefixCounts/Memory
=== RUN TestIpamer_AcquireChildPrefixCounts/Postgres
=== RUN TestIpamer_AcquireChildPrefixCounts/Cockroach
=== RUN TestIpamer_AcquireChildPrefixCounts/Redis
=== RUN TestIpamer_AcquireChildPrefixCounts/Etcd
=== RUN TestIpamer_AcquireChildPrefixCounts/KeyDB
=== RUN TestIpamer_AcquireChildPrefixCounts/MongoDB
--- PASS: TestIpamer_AcquireChildPrefixCounts (0.21s)
--- PASS: TestIpamer_AcquireChildPrefixCounts/Memory (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixCounts/Postgres (0.02s)
--- PASS: TestIpamer_AcquireChildPrefixCounts/Cockroach (0.04s)
--- PASS: TestIpamer_AcquireChildPrefixCounts/Redis (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixCounts/Etcd (0.02s)
--- PASS: TestIpamer_AcquireChildPrefixCounts/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixCounts/MongoDB (0.01s)
=== RUN TestIpamer_AcquireChildPrefixIPv4
=== RUN TestIpamer_AcquireChildPrefixIPv4/Memory
=== RUN TestIpamer_AcquireChildPrefixIPv4/Postgres
=== RUN TestIpamer_AcquireChildPrefixIPv4/Cockroach
=== RUN TestIpamer_AcquireChildPrefixIPv4/Redis
=== RUN TestIpamer_AcquireChildPrefixIPv4/Etcd
=== RUN TestIpamer_AcquireChildPrefixIPv4/KeyDB
=== RUN TestIpamer_AcquireChildPrefixIPv4/MongoDB
--- PASS: TestIpamer_AcquireChildPrefixIPv4 (0.22s)
--- PASS: TestIpamer_AcquireChildPrefixIPv4/Memory (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixIPv4/Postgres (0.01s)
--- PASS: TestIpamer_AcquireChildPrefixIPv4/Cockroach (0.10s)
--- PASS: TestIpamer_AcquireChildPrefixIPv4/Redis (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixIPv4/Etcd (0.01s)
--- PASS: TestIpamer_AcquireChildPrefixIPv4/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixIPv4/MongoDB (0.01s)
=== RUN TestIpamer_AcquireChildPrefixIPv6
=== RUN TestIpamer_AcquireChildPrefixIPv6/Memory
=== RUN TestIpamer_AcquireChildPrefixIPv6/Postgres
=== RUN TestIpamer_AcquireChildPrefixIPv6/Cockroach
=== RUN TestIpamer_AcquireChildPrefixIPv6/Redis
=== RUN TestIpamer_AcquireChildPrefixIPv6/Etcd
=== RUN TestIpamer_AcquireChildPrefixIPv6/KeyDB
=== RUN TestIpamer_AcquireChildPrefixIPv6/MongoDB
--- PASS: TestIpamer_AcquireChildPrefixIPv6 (0.13s)
--- PASS: TestIpamer_AcquireChildPrefixIPv6/Memory (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixIPv6/Postgres (0.01s)
--- PASS: TestIpamer_AcquireChildPrefixIPv6/Cockroach (0.02s)
--- PASS: TestIpamer_AcquireChildPrefixIPv6/Redis (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixIPv6/Etcd (0.01s)
--- PASS: TestIpamer_AcquireChildPrefixIPv6/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireChildPrefixIPv6/MongoDB (0.01s)
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv4
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv4/Memory
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv4/Postgres
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv4/Cockroach
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv4/Redis
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv4/Etcd
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv4/KeyDB
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv4/MongoDB
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv4 (0.15s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv4/Memory (0.00s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv4/Postgres (0.01s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv4/Cockroach (0.03s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv4/Redis (0.00s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv4/Etcd (0.01s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv4/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv4/MongoDB (0.02s)
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv6
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv6/Memory
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv6/Postgres
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv6/Cockroach
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv6/Redis
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv6/Etcd
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv6/KeyDB
=== RUN TestIpamer_AcquireSpecificChildPrefixIPv6/MongoDB
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv6 (0.13s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv6/Memory (0.00s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv6/Postgres (0.02s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv6/Cockroach (0.02s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv6/Redis (0.00s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv6/Etcd (0.01s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv6/KeyDB (0.00s)
--- PASS: TestIpamer_AcquireSpecificChildPrefixIPv6/MongoDB (0.01s)
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Memory
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Postgres
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Cockroach
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Redis
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Etcd
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/KeyDB
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/MongoDB
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6 (7.19s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Memory (0.02s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Postgres (0.83s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Cockroach (4.27s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Redis (0.58s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/Etcd (0.73s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/KeyDB (0.27s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv6/MongoDB (0.32s)
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Memory
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Postgres
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Cockroach
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Redis
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Etcd
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/KeyDB
=== RUN TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/MongoDB
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4 (7.64s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Memory (0.02s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Postgres (0.67s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Cockroach (4.30s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Redis (0.67s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/Etcd (0.69s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/KeyDB (0.27s)
--- PASS: TestIpamer_AcquireChildPrefixNoDuplicatesUntilFullIPv4/MongoDB (0.77s)
=== RUN TestPrefix_Availableips
=== RUN TestPrefix_Availableips/large
=== RUN TestPrefix_Availableips/small
=== RUN TestPrefix_Availableips/smaller
=== RUN TestPrefix_Availableips/smaller#01
=== RUN TestPrefix_Availableips/smaller_IPv6
=== RUN TestPrefix_Availableips/large_IPv6
--- PASS: TestPrefix_Availableips (0.00s)
--- PASS: TestPrefix_Availableips/large (0.00s)
--- PASS: TestPrefix_Availableips/small (0.00s)
--- PASS: TestPrefix_Availableips/smaller (0.00s)
--- PASS: TestPrefix_Availableips/smaller#01 (0.00s)
--- PASS: TestPrefix_Availableips/smaller_IPv6 (0.00s)
--- PASS: TestPrefix_Availableips/large_IPv6 (0.00s)
=== RUN TestIpamer_PrefixesOverlapping
=== RUN TestIpamer_PrefixesOverlapping/Memory
=== RUN TestIpamer_PrefixesOverlapping/Postgres
=== RUN TestIpamer_PrefixesOverlapping/Cockroach
=== RUN TestIpamer_PrefixesOverlapping/Redis
=== RUN TestIpamer_PrefixesOverlapping/Etcd
=== RUN TestIpamer_PrefixesOverlapping/KeyDB
=== RUN TestIpamer_PrefixesOverlapping/MongoDB
=== RUN TestIpamer_PrefixesOverlapping/Memory#01
=== RUN TestIpamer_PrefixesOverlapping/Postgres#01
=== RUN TestIpamer_PrefixesOverlapping/Cockroach#01
=== RUN TestIpamer_PrefixesOverlapping/Redis#01
=== RUN TestIpamer_PrefixesOverlapping/Etcd#01
=== RUN TestIpamer_PrefixesOverlapping/KeyDB#01
=== RUN TestIpamer_PrefixesOverlapping/MongoDB#01
=== RUN TestIpamer_PrefixesOverlapping/Memory#02
=== RUN TestIpamer_PrefixesOverlapping/Postgres#02
=== RUN TestIpamer_PrefixesOverlapping/Cockroach#02
=== RUN TestIpamer_PrefixesOverlapping/Redis#02
=== RUN TestIpamer_PrefixesOverlapping/Etcd#02
=== RUN TestIpamer_PrefixesOverlapping/KeyDB#02
=== RUN TestIpamer_PrefixesOverlapping/MongoDB#02
=== RUN TestIpamer_PrefixesOverlapping/Memory#03
=== RUN TestIpamer_PrefixesOverlapping/Postgres#03
=== RUN TestIpamer_PrefixesOverlapping/Cockroach#03
=== RUN TestIpamer_PrefixesOverlapping/Redis#03
=== RUN TestIpamer_PrefixesOverlapping/Etcd#03
=== RUN TestIpamer_PrefixesOverlapping/KeyDB#03
=== RUN TestIpamer_PrefixesOverlapping/MongoDB#03
=== RUN TestIpamer_PrefixesOverlapping/Memory#04
=== RUN TestIpamer_PrefixesOverlapping/Postgres#04
=== RUN TestIpamer_PrefixesOverlapping/Cockroach#04
=== RUN TestIpamer_PrefixesOverlapping/Redis#04
=== RUN TestIpamer_PrefixesOverlapping/Etcd#04
=== RUN TestIpamer_PrefixesOverlapping/KeyDB#04
=== RUN TestIpamer_PrefixesOverlapping/MongoDB#04
=== RUN TestIpamer_PrefixesOverlapping/Memory#05
=== RUN TestIpamer_PrefixesOverlapping/Postgres#05
=== RUN TestIpamer_PrefixesOverlapping/Cockroach#05
=== RUN TestIpamer_PrefixesOverlapping/Redis#05
=== RUN TestIpamer_PrefixesOverlapping/Etcd#05
=== RUN TestIpamer_PrefixesOverlapping/KeyDB#05
=== RUN TestIpamer_PrefixesOverlapping/MongoDB#05
=== RUN TestIpamer_PrefixesOverlapping/Memory#06
=== RUN TestIpamer_PrefixesOverlapping/Postgres#06
=== RUN TestIpamer_PrefixesOverlapping/Cockroach#06
=== RUN TestIpamer_PrefixesOverlapping/Redis#06
=== RUN TestIpamer_PrefixesOverlapping/Etcd#06
=== RUN TestIpamer_PrefixesOverlapping/KeyDB#06
=== RUN TestIpamer_PrefixesOverlapping/MongoDB#06
--- PASS: TestIpamer_PrefixesOverlapping (1.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Memory (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Postgres (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Cockroach (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Redis (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Etcd (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/KeyDB (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/MongoDB (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Memory#01 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Postgres#01 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Cockroach#01 (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Redis#01 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Etcd#01 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/KeyDB#01 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/MongoDB#01 (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Memory#02 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Postgres#02 (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Cockroach#02 (0.02s)
--- PASS: TestIpamer_PrefixesOverlapping/Redis#02 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Etcd#02 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/KeyDB#02 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/MongoDB#02 (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Memory#03 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Postgres#03 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Cockroach#03 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Redis#03 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Etcd#03 (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/KeyDB#03 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/MongoDB#03 (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Memory#04 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Postgres#04 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Cockroach#04 (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Redis#04 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Etcd#04 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/KeyDB#04 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/MongoDB#04 (0.01s)
--- PASS: TestIpamer_PrefixesOverlapping/Memory#05 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Postgres#05 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Cockroach#05 (0.02s)
--- PASS: TestIpamer_PrefixesOverlapping/Redis#05 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Etcd#05 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/KeyDB#05 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/MongoDB#05 (0.02s)
--- PASS: TestIpamer_PrefixesOverlapping/Memory#06 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Postgres#06 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Cockroach#06 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Redis#06 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/Etcd#06 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/KeyDB#06 (0.00s)
--- PASS: TestIpamer_PrefixesOverlapping/MongoDB#06 (0.01s)
=== RUN TestIpamer_NewPrefix
=== RUN TestIpamer_NewPrefix/Memory
=== RUN TestIpamer_NewPrefix/Postgres
=== RUN TestIpamer_NewPrefix/Cockroach
=== RUN TestIpamer_NewPrefix/Redis
=== RUN TestIpamer_NewPrefix/Etcd
=== RUN TestIpamer_NewPrefix/KeyDB
=== RUN TestIpamer_NewPrefix/MongoDB
=== RUN TestIpamer_NewPrefix/Memory#01
=== RUN TestIpamer_NewPrefix/Postgres#01
=== RUN TestIpamer_NewPrefix/Cockroach#01
=== RUN TestIpamer_NewPrefix/Redis#01
=== RUN TestIpamer_NewPrefix/Etcd#01
=== RUN TestIpamer_NewPrefix/KeyDB#01
=== RUN TestIpamer_NewPrefix/MongoDB#01
=== RUN TestIpamer_NewPrefix/Memory#02
=== RUN TestIpamer_NewPrefix/Postgres#02
=== RUN TestIpamer_NewPrefix/Cockroach#02
=== RUN TestIpamer_NewPrefix/Redis#02
=== RUN TestIpamer_NewPrefix/Etcd#02
=== RUN TestIpamer_NewPrefix/KeyDB#02
=== RUN TestIpamer_NewPrefix/MongoDB#02
=== RUN TestIpamer_NewPrefix/Memory#03
=== RUN TestIpamer_NewPrefix/Postgres#03
=== RUN TestIpamer_NewPrefix/Cockroach#03
=== RUN TestIpamer_NewPrefix/Redis#03
=== RUN TestIpamer_NewPrefix/Etcd#03
=== RUN TestIpamer_NewPrefix/KeyDB#03
=== RUN TestIpamer_NewPrefix/MongoDB#03
=== RUN TestIpamer_NewPrefix/Memory#04
=== RUN TestIpamer_NewPrefix/Postgres#04
=== RUN TestIpamer_NewPrefix/Cockroach#04
=== RUN TestIpamer_NewPrefix/Redis#04
=== RUN TestIpamer_NewPrefix/Etcd#04
=== RUN TestIpamer_NewPrefix/KeyDB#04
=== RUN TestIpamer_NewPrefix/MongoDB#04
=== RUN TestIpamer_NewPrefix/Memory#05
=== RUN TestIpamer_NewPrefix/Postgres#05
=== RUN TestIpamer_NewPrefix/Cockroach#05
=== RUN TestIpamer_NewPrefix/Redis#05
=== RUN TestIpamer_NewPrefix/Etcd#05
=== RUN TestIpamer_NewPrefix/KeyDB#05
=== RUN TestIpamer_NewPrefix/MongoDB#05
=== RUN TestIpamer_NewPrefix/Memory#06
=== RUN TestIpamer_NewPrefix/Postgres#06
=== RUN TestIpamer_NewPrefix/Cockroach#06
=== RUN TestIpamer_NewPrefix/Redis#06
=== RUN TestIpamer_NewPrefix/Etcd#06
=== RUN TestIpamer_NewPrefix/KeyDB#06
=== RUN TestIpamer_NewPrefix/MongoDB#06
=== RUN TestIpamer_NewPrefix/Memory#07
=== RUN TestIpamer_NewPrefix/Postgres#07
=== RUN TestIpamer_NewPrefix/Cockroach#07
=== RUN TestIpamer_NewPrefix/Redis#07
=== RUN TestIpamer_NewPrefix/Etcd#07
=== RUN TestIpamer_NewPrefix/KeyDB#07
=== RUN TestIpamer_NewPrefix/MongoDB#07
--- PASS: TestIpamer_NewPrefix (0.78s)
--- PASS: TestIpamer_NewPrefix/Memory (0.00s)
--- PASS: TestIpamer_NewPrefix/Postgres (0.00s)
--- PASS: TestIpamer_NewPrefix/Cockroach (0.00s)
--- PASS: TestIpamer_NewPrefix/Redis (0.00s)
--- PASS: TestIpamer_NewPrefix/Etcd (0.00s)
--- PASS: TestIpamer_NewPrefix/KeyDB (0.00s)
--- PASS: TestIpamer_NewPrefix/MongoDB (0.01s)
--- PASS: TestIpamer_NewPrefix/Memory#01 (0.00s)
--- PASS: TestIpamer_NewPrefix/Postgres#01 (0.00s)
--- PASS: TestIpamer_NewPrefix/Cockroach#01 (0.00s)
--- PASS: TestIpamer_NewPrefix/Redis#01 (0.00s)
--- PASS: TestIpamer_NewPrefix/Etcd#01 (0.00s)
--- PASS: TestIpamer_NewPrefix/KeyDB#01 (0.00s)
--- PASS: TestIpamer_NewPrefix/MongoDB#01 (0.01s)
--- PASS: TestIpamer_NewPrefix/Memory#02 (0.00s)
--- PASS: TestIpamer_NewPrefix/Postgres#02 (0.00s)
--- PASS: TestIpamer_NewPrefix/Cockroach#02 (0.00s)
--- PASS: TestIpamer_NewPrefix/Redis#02 (0.00s)
--- PASS: TestIpamer_NewPrefix/Etcd#02 (0.00s)
--- PASS: TestIpamer_NewPrefix/KeyDB#02 (0.00s)
--- PASS: TestIpamer_NewPrefix/MongoDB#02 (0.01s)
--- PASS: TestIpamer_NewPrefix/Memory#03 (0.00s)
--- PASS: TestIpamer_NewPrefix/Postgres#03 (0.00s)
--- PASS: TestIpamer_NewPrefix/Cockroach#03 (0.00s)
--- PASS: TestIpamer_NewPrefix/Redis#03 (0.00s)
--- PASS: TestIpamer_NewPrefix/Etcd#03 (0.00s)
--- PASS: TestIpamer_NewPrefix/KeyDB#03 (0.00s)
--- PASS: TestIpamer_NewPrefix/MongoDB#03 (0.00s)
--- PASS: TestIpamer_NewPrefix/Memory#04 (0.00s)
--- PASS: TestIpamer_NewPrefix/Postgres#04 (0.00s)
--- PASS: TestIpamer_NewPrefix/Cockroach#04 (0.01s)
--- PASS: TestIpamer_NewPrefix/Redis#04 (0.00s)
--- PASS: TestIpamer_NewPrefix/Etcd#04 (0.00s)
--- PASS: TestIpamer_NewPrefix/KeyDB#04 (0.00s)
--- PASS: TestIpamer_NewPrefix/MongoDB#04 (0.01s)
--- PASS: TestIpamer_NewPrefix/Memory#05 (0.00s)
--- PASS: TestIpamer_NewPrefix/Postgres#05 (0.00s)
--- PASS: TestIpamer_NewPrefix/Cockroach#05 (0.00s)
--- PASS: TestIpamer_NewPrefix/Redis#05 (0.00s)
--- PASS: TestIpamer_NewPrefix/Etcd#05 (0.00s)
--- PASS: TestIpamer_NewPrefix/KeyDB#05 (0.00s)
--- PASS: TestIpamer_NewPrefix/MongoDB#05 (0.01s)
--- PASS: TestIpamer_NewPrefix/Memory#06 (0.00s)
--- PASS: TestIpamer_NewPrefix/Postgres#06 (0.00s)
--- PASS: TestIpamer_NewPrefix/Cockroach#06 (0.00s)
--- PASS: TestIpamer_NewPrefix/Redis#06 (0.00s)
--- PASS: TestIpamer_NewPrefix/Etcd#06 (0.00s)
--- PASS: TestIpamer_NewPrefix/KeyDB#06 (0.00s)
--- PASS: TestIpamer_NewPrefix/MongoDB#06 (0.00s)
--- PASS: TestIpamer_NewPrefix/Memory#07 (0.00s)
--- PASS: TestIpamer_NewPrefix/Postgres#07 (0.00s)
--- PASS: TestIpamer_NewPrefix/Cockroach#07 (0.00s)
--- PASS: TestIpamer_NewPrefix/Redis#07 (0.00s)
--- PASS: TestIpamer_NewPrefix/Etcd#07 (0.00s)
--- PASS: TestIpamer_NewPrefix/KeyDB#07 (0.00s)
--- PASS: TestIpamer_NewPrefix/MongoDB#07 (0.00s)
=== RUN TestIpamer_DeletePrefix
=== RUN TestIpamer_DeletePrefix/Memory
=== RUN TestIpamer_DeletePrefix/Postgres
=== RUN TestIpamer_DeletePrefix/Cockroach
=== RUN TestIpamer_DeletePrefix/Redis
=== RUN TestIpamer_DeletePrefix/Etcd
=== RUN TestIpamer_DeletePrefix/KeyDB
=== RUN TestIpamer_DeletePrefix/MongoDB
--- PASS: TestIpamer_DeletePrefix (0.10s)
--- PASS: TestIpamer_DeletePrefix/Memory (0.00s)
--- PASS: TestIpamer_DeletePrefix/Postgres (0.01s)
--- PASS: TestIpamer_DeletePrefix/Cockroach (0.01s)
--- PASS: TestIpamer_DeletePrefix/Redis (0.00s)
--- PASS: TestIpamer_DeletePrefix/Etcd (0.01s)
--- PASS: TestIpamer_DeletePrefix/KeyDB (0.00s)
--- PASS: TestIpamer_DeletePrefix/MongoDB (0.01s)
=== RUN TestIpamer_PrefixFrom
=== RUN TestIpamer_PrefixFrom/Memory
=== RUN TestIpamer_PrefixFrom/Postgres
=== RUN TestIpamer_PrefixFrom/Cockroach
=== RUN TestIpamer_PrefixFrom/Redis
=== RUN TestIpamer_PrefixFrom/Etcd
=== RUN TestIpamer_PrefixFrom/KeyDB
=== RUN TestIpamer_PrefixFrom/MongoDB
--- PASS: TestIpamer_PrefixFrom (0.08s)
--- PASS: TestIpamer_PrefixFrom/Memory (0.00s)
--- PASS: TestIpamer_PrefixFrom/Postgres (0.00s)
--- PASS: TestIpamer_PrefixFrom/Cockroach (0.01s)
--- PASS: TestIpamer_PrefixFrom/Redis (0.00s)
--- PASS: TestIpamer_PrefixFrom/Etcd (0.00s)
--- PASS: TestIpamer_PrefixFrom/KeyDB (0.00s)
--- PASS: TestIpamer_PrefixFrom/MongoDB (0.01s)
=== RUN TestIpamerAcquireIP
=== RUN TestIpamerAcquireIP/Memory
=== RUN TestIpamerAcquireIP/Postgres
=== RUN TestIpamerAcquireIP/Cockroach
=== RUN TestIpamerAcquireIP/Redis
=== RUN TestIpamerAcquireIP/Etcd
=== RUN TestIpamerAcquireIP/KeyDB
=== RUN TestIpamerAcquireIP/MongoDB
--- PASS: TestIpamerAcquireIP (0.20s)
--- PASS: TestIpamerAcquireIP/Memory (0.00s)
--- PASS: TestIpamerAcquireIP/Postgres (0.03s)
--- PASS: TestIpamerAcquireIP/Cockroach (0.06s)
--- PASS: TestIpamerAcquireIP/Redis (0.01s)
--- PASS: TestIpamerAcquireIP/Etcd (0.02s)
--- PASS: TestIpamerAcquireIP/KeyDB (0.01s)
--- PASS: TestIpamerAcquireIP/MongoDB (0.02s)
=== RUN TestIpamerAcquireIPv6
=== RUN TestIpamerAcquireIPv6/Memory
=== RUN TestIpamerAcquireIPv6/Postgres
=== RUN TestIpamerAcquireIPv6/Cockroach
=== RUN TestIpamerAcquireIPv6/Redis
=== RUN TestIpamerAcquireIPv6/Etcd
=== RUN TestIpamerAcquireIPv6/KeyDB
=== RUN TestIpamerAcquireIPv6/MongoDB
--- PASS: TestIpamerAcquireIPv6 (0.22s)
--- PASS: TestIpamerAcquireIPv6/Memory (0.00s)
--- PASS: TestIpamerAcquireIPv6/Postgres (0.03s)
--- PASS: TestIpamerAcquireIPv6/Cockroach (0.09s)
--- PASS: TestIpamerAcquireIPv6/Redis (0.01s)
--- PASS: TestIpamerAcquireIPv6/Etcd (0.02s)
--- PASS: TestIpamerAcquireIPv6/KeyDB (0.01s)
--- PASS: TestIpamerAcquireIPv6/MongoDB (0.02s)
=== RUN TestIpamerAcquireAlreadyAquiredIPv4
=== RUN TestIpamerAcquireAlreadyAquiredIPv4/Memory
=== RUN TestIpamerAcquireAlreadyAquiredIPv4/Postgres
=== RUN TestIpamerAcquireAlreadyAquiredIPv4/Cockroach
=== RUN TestIpamerAcquireAlreadyAquiredIPv4/Redis
=== RUN TestIpamerAcquireAlreadyAquiredIPv4/Etcd
=== RUN TestIpamerAcquireAlreadyAquiredIPv4/KeyDB
=== RUN TestIpamerAcquireAlreadyAquiredIPv4/MongoDB
--- PASS: TestIpamerAcquireAlreadyAquiredIPv4 (0.15s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv4/Memory (0.00s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv4/Postgres (0.01s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv4/Cockroach (0.01s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv4/Redis (0.00s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv4/Etcd (0.01s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv4/KeyDB (0.00s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv4/MongoDB (0.01s)
=== RUN TestIpamerAcquireAlreadyAquiredIPv6
=== RUN TestIpamerAcquireAlreadyAquiredIPv6/Memory
=== RUN TestIpamerAcquireAlreadyAquiredIPv6/Postgres
=== RUN TestIpamerAcquireAlreadyAquiredIPv6/Cockroach
=== RUN TestIpamerAcquireAlreadyAquiredIPv6/Redis
=== RUN TestIpamerAcquireAlreadyAquiredIPv6/Etcd
=== RUN TestIpamerAcquireAlreadyAquiredIPv6/KeyDB
=== RUN TestIpamerAcquireAlreadyAquiredIPv6/MongoDB
--- PASS: TestIpamerAcquireAlreadyAquiredIPv6 (0.09s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv6/Memory (0.00s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv6/Postgres (0.01s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv6/Cockroach (0.01s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv6/Redis (0.00s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv6/Etcd (0.00s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv6/KeyDB (0.00s)
--- PASS: TestIpamerAcquireAlreadyAquiredIPv6/MongoDB (0.01s)
=== RUN TestGetHostAddresses
=== RUN TestGetHostAddresses/Memory
=== RUN TestGetHostAddresses/Postgres
=== RUN TestGetHostAddresses/Cockroach
=== RUN TestGetHostAddresses/Redis
=== RUN TestGetHostAddresses/Etcd
=== RUN TestGetHostAddresses/KeyDB
=== RUN TestGetHostAddresses/MongoDB
--- PASS: TestGetHostAddresses (5.18s)
--- PASS: TestGetHostAddresses/Memory (0.02s)
--- PASS: TestGetHostAddresses/Postgres (0.45s)
--- PASS: TestGetHostAddresses/Cockroach (3.16s)
--- PASS: TestGetHostAddresses/Redis (0.43s)
--- PASS: TestGetHostAddresses/Etcd (0.44s)
--- PASS: TestGetHostAddresses/KeyDB (0.23s)
--- PASS: TestGetHostAddresses/MongoDB (0.15s)
=== RUN TestGetHostAddressesIPv6
=== RUN TestGetHostAddressesIPv6/Memory
=== RUN TestGetHostAddressesIPv6/Postgres
=== RUN TestGetHostAddressesIPv6/Cockroach
=== RUN TestGetHostAddressesIPv6/Redis
=== RUN TestGetHostAddressesIPv6/Etcd
=== RUN TestGetHostAddressesIPv6/KeyDB
=== RUN TestGetHostAddressesIPv6/MongoDB
--- PASS: TestGetHostAddressesIPv6 (4.80s)
--- PASS: TestGetHostAddressesIPv6/Memory (0.01s)
--- PASS: TestGetHostAddressesIPv6/Postgres (0.68s)
--- PASS: TestGetHostAddressesIPv6/Cockroach (2.70s)
--- PASS: TestGetHostAddressesIPv6/Redis (0.28s)
--- PASS: TestGetHostAddressesIPv6/Etcd (0.44s)
--- PASS: TestGetHostAddressesIPv6/KeyDB (0.17s)
--- PASS: TestGetHostAddressesIPv6/MongoDB (0.37s)
=== RUN TestPrefixDeepCopy
--- PASS: TestPrefixDeepCopy (0.00s)
=== RUN TestGob
=== RUN TestGob/Memory
=== RUN TestGob/Postgres
=== RUN TestGob/Cockroach
=== RUN TestGob/Redis
=== RUN TestGob/Etcd
=== RUN TestGob/KeyDB
=== RUN TestGob/MongoDB
--- PASS: TestGob (0.09s)
--- PASS: TestGob/Memory (0.00s)
--- PASS: TestGob/Postgres (0.00s)
--- PASS: TestGob/Cockroach (0.00s)
--- PASS: TestGob/Redis (0.00s)
--- PASS: TestGob/Etcd (0.00s)
--- PASS: TestGob/KeyDB (0.00s)
--- PASS: TestGob/MongoDB (0.01s)
=== RUN TestPrefix_availablePrefixes
=== RUN TestPrefix_availablePrefixes/one_child_prefix
prefix_test.go:1411: available prefix:192.168.4.0/22 smallest left:256
prefix_test.go:1411: available prefix:192.168.8.0/21 smallest left:512
=== RUN TestPrefix_availablePrefixes/two_child_prefixes
prefix_test.go:1411: available prefix:192.168.4.0/22 smallest left:256
prefix_test.go:1411: available prefix:192.168.8.0/21 smallest left:512
prefix_test.go:1411: available prefix:192.168.16.0/20 smallest left:1024
prefix_test.go:1411: available prefix:192.168.32.0/19 smallest left:2048
prefix_test.go:1411: available prefix:192.168.64.0/18 smallest left:4096
prefix_test.go:1411: available prefix:192.168.128.0/17 smallest left:8192
=== RUN TestPrefix_availablePrefixes/four_child_prefixes
prefix_test.go:1411: available prefix:192.168.4.0/22 smallest left:256
prefix_test.go:1411: available prefix:192.168.8.0/21 smallest left:512
prefix_test.go:1411: available prefix:192.168.16.0/20 smallest left:1024
prefix_test.go:1411: available prefix:192.168.32.0/19 smallest left:2048
prefix_test.go:1411: available prefix:192.168.64.0/18 smallest left:4096
prefix_test.go:1411: available prefix:192.168.128.64/26 smallest left:16
prefix_test.go:1411: available prefix:192.168.128.128/25 smallest left:32
prefix_test.go:1411: available prefix:192.168.129.0/24 smallest left:64
prefix_test.go:1411: available prefix:192.168.130.0/23 smallest left:128
prefix_test.go:1411: available prefix:192.168.132.0/22 smallest left:256
prefix_test.go:1411: available prefix:192.168.136.0/21 smallest left:512
prefix_test.go:1411: available prefix:192.168.144.0/20 smallest left:1024
prefix_test.go:1411: available prefix:192.168.160.0/19 smallest left:2048
prefix_test.go:1411: available prefix:192.168.192.0/22 smallest left:256
prefix_test.go:1411: available prefix:192.168.196.64/26 smallest left:16
prefix_test.go:1411: available prefix:192.168.196.128/25 smallest left:32
prefix_test.go:1411: available prefix:192.168.197.0/24 smallest left:64
prefix_test.go:1411: available prefix:192.168.198.0/23 smallest left:128
prefix_test.go:1411: available prefix:192.168.200.0/21 smallest left:512
prefix_test.go:1411: available prefix:192.168.208.0/20 smallest left:1024
prefix_test.go:1411: available prefix:192.168.224.0/19 smallest left:2048
=== RUN TestPrefix_availablePrefixes/simple_ipv6
prefix_test.go:1411: available prefix:2001:db8:85a3::/120 smallest left:64
=== RUN TestPrefix_availablePrefixes/one_child_prefix_ipv6
prefix_test.go:1411: available prefix:2001:db8:85a3::40/122 smallest left:16
prefix_test.go:1411: available prefix:2001:db8:85a3::80/121 smallest left:32
--- PASS: TestPrefix_availablePrefixes (0.00s)
--- PASS: TestPrefix_availablePrefixes/one_child_prefix (0.00s)
--- PASS: TestPrefix_availablePrefixes/two_child_prefixes (0.00s)
--- PASS: TestPrefix_availablePrefixes/four_child_prefixes (0.00s)
--- PASS: TestPrefix_availablePrefixes/simple_ipv6 (0.00s)
--- PASS: TestPrefix_availablePrefixes/one_child_prefix_ipv6 (0.00s)
=== RUN TestAcquireIPParallel
=== RUN TestAcquireIPParallel/Memory
=== RUN TestAcquireIPParallel/Postgres
=== RUN TestAcquireIPParallel/Cockroach
=== RUN TestAcquireIPParallel/Redis
=== RUN TestAcquireIPParallel/Etcd
=== RUN TestAcquireIPParallel/KeyDB
=== RUN TestAcquireIPParallel/MongoDB
--- PASS: TestAcquireIPParallel (10.65s)
--- PASS: TestAcquireIPParallel/Memory (0.46s)
--- PASS: TestAcquireIPParallel/Postgres (2.06s)
--- PASS: TestAcquireIPParallel/Cockroach (4.26s)
--- PASS: TestAcquireIPParallel/Redis (1.16s)
--- PASS: TestAcquireIPParallel/Etcd (0.49s)
--- PASS: TestAcquireIPParallel/KeyDB (1.09s)
--- PASS: TestAcquireIPParallel/MongoDB (1.00s)
=== RUN Test_ipamer_DumpAndLoad
=== RUN Test_ipamer_DumpAndLoad/Memory
prefix_test.go:1489: [{"Cidr":"192.168.0.0/24","ParentCidr":"","AvailableChildPrefixes":{},"ChildPrefixLength":0,"IsParent":false,"IPs":{"192.168.0.0":true,"192.168.0.255":true},"Version":0}]
=== RUN Test_ipamer_DumpAndLoad/Postgres
prefix_test.go:1489: [{"Cidr":"192.168.0.0/24","ParentCidr":"","AvailableChildPrefixes":{},"ChildPrefixLength":0,"IsParent":false,"IPs":{"192.168.0.0":true,"192.168.0.255":true},"Version":0}]
=== RUN Test_ipamer_DumpAndLoad/Cockroach
prefix_test.go:1489: [{"Cidr":"192.168.0.0/24","ParentCidr":"","AvailableChildPrefixes":{},"ChildPrefixLength":0,"IsParent":false,"IPs":{"192.168.0.0":true,"192.168.0.255":true},"Version":0}]
=== RUN Test_ipamer_DumpAndLoad/Redis
prefix_test.go:1489: [{"Cidr":"192.168.0.0/24","ParentCidr":"","AvailableChildPrefixes":{},"ChildPrefixLength":0,"IsParent":false,"IPs":{"192.168.0.0":true,"192.168.0.255":true},"Version":0}]
=== RUN Test_ipamer_DumpAndLoad/Etcd
prefix_test.go:1489: [{"Cidr":"192.168.0.0/24","ParentCidr":"","AvailableChildPrefixes":{},"ChildPrefixLength":0,"IsParent":false,"IPs":{"192.168.0.0":true,"192.168.0.255":true},"Version":0}]
=== RUN Test_ipamer_DumpAndLoad/KeyDB
prefix_test.go:1489: [{"Cidr":"192.168.0.0/24","ParentCidr":"","AvailableChildPrefixes":{},"ChildPrefixLength":0,"IsParent":false,"IPs":{"192.168.0.0":true,"192.168.0.255":true},"Version":0}]
=== RUN Test_ipamer_DumpAndLoad/MongoDB
prefix_test.go:1489: [{"Cidr":"192.168.0.0/24","ParentCidr":"","AvailableChildPrefixes":{},"ChildPrefixLength":0,"IsParent":false,"IPs":{"192.168.0.0":true,"192.168.0.255":true},"Version":0}]
--- PASS: Test_ipamer_DumpAndLoad (0.18s)
--- PASS: Test_ipamer_DumpAndLoad/Memory (0.00s)
--- PASS: Test_ipamer_DumpAndLoad/Postgres (0.00s)
--- PASS: Test_ipamer_DumpAndLoad/Cockroach (0.03s)
--- PASS: Test_ipamer_DumpAndLoad/Redis (0.01s)
--- PASS: Test_ipamer_DumpAndLoad/Etcd (0.00s)
--- PASS: Test_ipamer_DumpAndLoad/KeyDB (0.00s)
--- PASS: Test_ipamer_DumpAndLoad/MongoDB (0.01s)
=== RUN TestIpamer_ReadAllPrefixCidrs
=== RUN TestIpamer_ReadAllPrefixCidrs/Memory
=== RUN TestIpamer_ReadAllPrefixCidrs/Postgres
=== RUN TestIpamer_ReadAllPrefixCidrs/Cockroach
=== RUN TestIpamer_ReadAllPrefixCidrs/Redis
=== RUN TestIpamer_ReadAllPrefixCidrs/Etcd
=== RUN TestIpamer_ReadAllPrefixCidrs/KeyDB
=== RUN TestIpamer_ReadAllPrefixCidrs/MongoDB
--- PASS: TestIpamer_ReadAllPrefixCidrs (0.09s)
--- PASS: TestIpamer_ReadAllPrefixCidrs/Memory (0.00s)
--- PASS: TestIpamer_ReadAllPrefixCidrs/Postgres (0.00s)
--- PASS: TestIpamer_ReadAllPrefixCidrs/Cockroach (0.00s)
--- PASS: TestIpamer_ReadAllPrefixCidrs/Redis (0.00s)
--- PASS: TestIpamer_ReadAllPrefixCidrs/Etcd (0.00s)
--- PASS: TestIpamer_ReadAllPrefixCidrs/KeyDB (0.00s)
--- PASS: TestIpamer_ReadAllPrefixCidrs/MongoDB (0.01s)
=== RUN TestPrefix_Network
=== RUN TestPrefix_Network/simple
--- PASS: TestPrefix_Network (0.00s)
--- PASS: TestPrefix_Network/simple (0.00s)
=== RUN Test_sql_prefixExists
=== RUN Test_sql_prefixExists/Postgres
=== RUN Test_sql_prefixExists/Cockroach
--- PASS: Test_sql_prefixExists (0.10s)
--- PASS: Test_sql_prefixExists/Postgres (0.00s)
--- PASS: Test_sql_prefixExists/Cockroach (0.01s)
=== RUN Test_sql_CreatePrefix
=== RUN Test_sql_CreatePrefix/Postgres
=== RUN Test_sql_CreatePrefix/Cockroach
--- PASS: Test_sql_CreatePrefix (0.07s)
--- PASS: Test_sql_CreatePrefix/Postgres (0.00s)
--- PASS: Test_sql_CreatePrefix/Cockroach (0.01s)
=== RUN Test_sql_ReadPrefix
=== RUN Test_sql_ReadPrefix/Postgres
=== RUN Test_sql_ReadPrefix/Cockroach
--- PASS: Test_sql_ReadPrefix (0.11s)
--- PASS: Test_sql_ReadPrefix/Postgres (0.00s)
--- PASS: Test_sql_ReadPrefix/Cockroach (0.01s)
=== RUN Test_sql_ReadAllPrefix
=== RUN Test_sql_ReadAllPrefix/Postgres
=== RUN Test_sql_ReadAllPrefix/Cockroach
--- PASS: Test_sql_ReadAllPrefix (0.09s)
--- PASS: Test_sql_ReadAllPrefix/Postgres (0.01s)
--- PASS: Test_sql_ReadAllPrefix/Cockroach (0.00s)
=== RUN Test_sql_UpdatePrefix
=== RUN Test_sql_UpdatePrefix/Postgres
=== RUN Test_sql_UpdatePrefix/Cockroach
--- PASS: Test_sql_UpdatePrefix (0.05s)
--- PASS: Test_sql_UpdatePrefix/Postgres (0.00s)
--- PASS: Test_sql_UpdatePrefix/Cockroach (0.01s)
=== RUN Test_ConcurrentAcquirePrefix
=== RUN Test_ConcurrentAcquirePrefix/Postgres
=== RUN Test_ConcurrentAcquirePrefix/Cockroach
--- PASS: Test_ConcurrentAcquirePrefix (3.08s)
--- PASS: Test_ConcurrentAcquirePrefix/Postgres (0.99s)
--- PASS: Test_ConcurrentAcquirePrefix/Cockroach (1.98s)
=== RUN Test_ConcurrentAcquireIP
=== RUN Test_ConcurrentAcquireIP/Postgres
=== RUN Test_ConcurrentAcquireIP/Cockroach
--- PASS: Test_ConcurrentAcquireIP (3.93s)
--- PASS: Test_ConcurrentAcquireIP/Postgres (1.85s)
--- PASS: Test_ConcurrentAcquireIP/Cockroach (1.94s)
=== RUN FuzzIpamer_AcquireIP
=== RUN FuzzIpamer_AcquireIP/seed#0
=== RUN FuzzIpamer_AcquireIP/seed#1
=== RUN FuzzIpamer_AcquireIP/seed#2
=== RUN FuzzIpamer_AcquireIP/seed#3
=== RUN FuzzIpamer_AcquireIP/00e15d22123489fd226477045221a413abf1174857875133adc429e5e59623f1
--- PASS: FuzzIpamer_AcquireIP (0.00s)
--- PASS: FuzzIpamer_AcquireIP/seed#0 (0.00s)
--- PASS: FuzzIpamer_AcquireIP/seed#1 (0.00s)
--- PASS: FuzzIpamer_AcquireIP/seed#2 (0.00s)
--- PASS: FuzzIpamer_AcquireIP/seed#3 (0.00s)
--- PASS: FuzzIpamer_AcquireIP/00e15d22123489fd226477045221a413abf1174857875133adc429e5e59623f1 (0.00s)
=== RUN ExampleIpamer_NewPrefix
--- PASS: ExampleIpamer_NewPrefix (0.00s)
=== RUN ExampleIpamer_AcquireChildPrefix
--- PASS: ExampleIpamer_AcquireChildPrefix (0.00s)
PASS
coverage: 84.2% of statements
ok github.com/metal-stack/go-ipam 66.314s coverage: 84.2% of statements
? github.com/metal-stack/go-ipam/api/v1 [no test files]
? github.com/metal-stack/go-ipam/api/v1/apiv1connect [no test files]
? github.com/metal-stack/go-ipam/cmd/client [no test files]
? github.com/metal-stack/go-ipam/cmd/server [no test files]
=== RUN TestIpamService
=== PAUSE TestIpamService
=== CONT TestIpamService
=== RUN TestIpamService/CreateDeleteGetPrefix
=== CONT TestIpamService
logger.go:130: 2023-02-17T13:45:53.517-0800 DEBUG createprefix {"req": {"Msg":{"cidr":"192.169.0.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.520-0800 DEBUG getprefix {"req": {"Msg":{"cidr":"192.169.0.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.523-0800 DEBUG deleteprefix {"req": {"Msg":{"cidr":"192.169.0.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.524-0800 DEBUG getprefix {"req": {"Msg":{"cidr":"192.169.0.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.525-0800 DEBUG createprefix {"req": {"Msg":{"cidr":"192.169.1.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.526-0800 DEBUG getprefix {"req": {"Msg":{"cidr":"192.169.1.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.527-0800 DEBUG deleteprefix {"req": {"Msg":{"cidr":"192.169.1.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.529-0800 DEBUG getprefix {"req": {"Msg":{"cidr":"192.169.1.0/24"}}}
=== RUN TestIpamService/AcquireReleaseChildPrefix
=== CONT TestIpamService
logger.go:130: 2023-02-17T13:45:53.530-0800 DEBUG createprefix {"req": {"Msg":{"cidr":"192.167.0.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.531-0800 DEBUG acquirechildprefix {"req": {"Msg":{"cidr":"192.167.0.0/24","length":28}}}
logger.go:130: 2023-02-17T13:45:53.532-0800 DEBUG releasechildprefix {"req": {"Msg":{"cidr":"192.167.0.0/28"}}}
logger.go:130: 2023-02-17T13:45:53.533-0800 DEBUG createprefix {"req": {"Msg":{"cidr":"192.167.1.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.536-0800 DEBUG acquirechildprefix {"req": {"Msg":{"cidr":"192.167.1.0/24","length":28}}}
logger.go:130: 2023-02-17T13:45:53.537-0800 DEBUG releasechildprefix {"req": {"Msg":{"cidr":"192.167.1.0/28"}}}
=== RUN TestIpamService/AcquireReleaseIP
=== CONT TestIpamService
logger.go:130: 2023-02-17T13:45:53.538-0800 DEBUG createprefix {"req": {"Msg":{"cidr":"192.166.0.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.539-0800 DEBUG acquireip {"req": {"Msg":{"prefix_cidr":"192.166.0.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.541-0800 DEBUG releaseip {"req": {"Msg":{"prefix_cidr":"192.166.0.0/24","ip":"192.166.0.1"}}}
logger.go:130: 2023-02-17T13:45:53.542-0800 DEBUG createprefix {"req": {"Msg":{"cidr":"192.166.1.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.544-0800 DEBUG acquireip {"req": {"Msg":{"prefix_cidr":"192.166.1.0/24"}}}
logger.go:130: 2023-02-17T13:45:53.545-0800 DEBUG releaseip {"req": {"Msg":{"prefix_cidr":"192.166.1.0/24","ip":"192.166.1.1"}}}
--- PASS: TestIpamService (0.03s)
--- PASS: TestIpamService/CreateDeleteGetPrefix (0.02s)
--- PASS: TestIpamService/AcquireReleaseChildPrefix (0.01s)
--- PASS: TestIpamService/AcquireReleaseIP (0.01s)
PASS
coverage: 43.2% of statements
ok github.com/metal-stack/go-ipam/pkg/service 0.046s coverage: 43.2% of statements
testing: warning: no tests to run
PASS
coverage: [no statements]
ok github.com/metal-stack/go-ipam/pkg/service/test 0.013s coverage: [no statements] [no tests to run]
github.com/metal-stack/go-ipam/etcd.go:20: NewEtcd 0.0%
github.com/metal-stack/go-ipam/etcd.go:24: Name 0.0%
github.com/metal-stack/go-ipam/etcd.go:28: newEtcd 45.5%
github.com/metal-stack/go-ipam/etcd.go:59: CreatePrefix 77.8%
github.com/metal-stack/go-ipam/etcd.go:88: ReadPrefix 90.0%
github.com/metal-stack/go-ipam/etcd.go:106: DeleteAllPrefixes 84.6%
github.com/metal-stack/go-ipam/etcd.go:126: ReadAllPrefixes 83.3%
github.com/metal-stack/go-ipam/etcd.go:152: ReadAllPrefixCidrs 91.7%
github.com/metal-stack/go-ipam/etcd.go:171: UpdatePrefix 80.0%
github.com/metal-stack/go-ipam/etcd.go:213: DeletePrefix 87.5%
github.com/metal-stack/go-ipam/ipam.go:49: New 100.0%
github.com/metal-stack/go-ipam/ipam.go:56: NewWithStorage 100.0%
github.com/metal-stack/go-ipam/json.go:18: toPrefix 100.0%
github.com/metal-stack/go-ipam/json.go:35: toPrefixJSON 100.0%
github.com/metal-stack/go-ipam/json.go:50: toJSON 75.0%
github.com/metal-stack/go-ipam/json.go:58: toJSON 85.7%
github.com/metal-stack/go-ipam/json.go:70: fromJSON 80.0%
github.com/metal-stack/go-ipam/json.go:79: fromJSONs 87.5%
github.com/metal-stack/go-ipam/memory.go:15: NewMemory 100.0%
github.com/metal-stack/go-ipam/memory.go:22: Name 0.0%
github.com/metal-stack/go-ipam/memory.go:25: CreatePrefix 85.7%
github.com/metal-stack/go-ipam/memory.go:36: ReadPrefix 100.0%
github.com/metal-stack/go-ipam/memory.go:46: DeleteAllPrefixes 100.0%
github.com/metal-stack/go-ipam/memory.go:52: ReadAllPrefixes 100.0%
github.com/metal-stack/go-ipam/memory.go:62: ReadAllPrefixCidrs 100.0%
github.com/metal-stack/go-ipam/memory.go:72: UpdatePrefix 100.0%
github.com/metal-stack/go-ipam/memory.go:92: DeletePrefix 100.0%
github.com/metal-stack/go-ipam/mongodb.go:28: NewMongo 0.0%
github.com/metal-stack/go-ipam/mongodb.go:32: Name 0.0%
github.com/metal-stack/go-ipam/mongodb.go:36: newMongo 71.4%
github.com/metal-stack/go-ipam/mongodb.go:63: CreatePrefix 75.0%
github.com/metal-stack/go-ipam/mongodb.go:85: ReadPrefix 84.6%
github.com/metal-stack/go-ipam/mongodb.go:107: DeleteAllPrefixes 85.7%
github.com/metal-stack/go-ipam/mongodb.go:119: ReadAllPrefixes 84.6%
github.com/metal-stack/go-ipam/mongodb.go:141: ReadAllPrefixCidrs 85.7%
github.com/metal-stack/go-ipam/mongodb.go:153: UpdatePrefix 85.7%
github.com/metal-stack/go-ipam/mongodb.go:178: DeletePrefix 76.9%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:20: New 100.0%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:27: CreatePrefix 66.7%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:43: DeletePrefix 66.7%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:60: GetPrefix 100.0%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:77: ListPrefixes 0.0%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:102: AcquireChildPrefix 53.8%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:130: ReleaseChildPrefix 66.7%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:152: AcquireIP 53.8%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:179: ReleaseIP 63.6%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:204: Dump 0.0%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:218: Load 0.0%
github.com/metal-stack/go-ipam/pkg/service/ipam-service.go:227: PrefixUsage 0.0%
github.com/metal-stack/go-ipam/postgres.go:25: String 100.0%
github.com/metal-stack/go-ipam/postgres.go:51: NewPostgresStorage 0.0%
github.com/metal-stack/go-ipam/postgres.go:55: newPostgres 75.0%
github.com/metal-stack/go-ipam/postgres.go:72: dataSource 100.0%
github.com/metal-stack/go-ipam/prefix.go:44: deepCopy 100.0%
github.com/metal-stack/go-ipam/prefix.go:57: GobEncode 70.8%
github.com/metal-stack/go-ipam/prefix.go:92: GobDecode 71.4%
github.com/metal-stack/go-ipam/prefix.go:122: copyMap 100.0%
github.com/metal-stack/go-ipam/prefix.go:146: NewPrefix 86.7%
github.com/metal-stack/go-ipam/prefix.go:169: DeletePrefix 88.9%
github.com/metal-stack/go-ipam/prefix.go:185: AcquireChildPrefix 100.0%
github.com/metal-stack/go-ipam/prefix.go:194: AcquireSpecificChildPrefix 100.0%
github.com/metal-stack/go-ipam/prefix.go:204: acquireChildPrefixInternal 88.3%
github.com/metal-stack/go-ipam/prefix.go:300: ReleaseChildPrefix 100.0%
github.com/metal-stack/go-ipam/prefix.go:307: releaseChildPrefixInternal 92.3%
github.com/metal-stack/go-ipam/prefix.go:329: PrefixFrom 100.0%
github.com/metal-stack/go-ipam/prefix.go:341: AcquireSpecificIP 100.0%
github.com/metal-stack/go-ipam/prefix.go:354: acquireSpecificIPInternal 96.9%
github.com/metal-stack/go-ipam/prefix.go:406: AcquireIP 100.0%
github.com/metal-stack/go-ipam/prefix.go:410: ReleaseIP 100.0%
github.com/metal-stack/go-ipam/prefix.go:416: ReleaseIPFromPrefix 100.0%
github.com/metal-stack/go-ipam/prefix.go:423: releaseIPFromPrefixInternal 90.9%
github.com/metal-stack/go-ipam/prefix.go:442: PrefixesOverlapping 81.8%
github.com/metal-stack/go-ipam/prefix.go:462: newPrefix 92.9%
github.com/metal-stack/go-ipam/prefix.go:495: Dump 71.4%
github.com/metal-stack/go-ipam/prefix.go:507: Load 75.0%
github.com/metal-stack/go-ipam/prefix.go:533: ReadAllPrefixCidrs 100.0%
github.com/metal-stack/go-ipam/prefix.go:537: String 100.0%
github.com/metal-stack/go-ipam/prefix.go:541: String 100.0%
github.com/metal-stack/go-ipam/prefix.go:549: Network 75.0%
github.com/metal-stack/go-ipam/prefix.go:558: hasIPs 87.5%
github.com/metal-stack/go-ipam/prefix.go:573: availableips 83.3%
github.com/metal-stack/go-ipam/prefix.go:586: acquiredips 100.0%
github.com/metal-stack/go-ipam/prefix.go:591: availablePrefixes 88.0%
github.com/metal-stack/go-ipam/prefix.go:632: acquiredPrefixes 100.0%
github.com/metal-stack/go-ipam/prefix.go:643: Usage 100.0%
github.com/metal-stack/go-ipam/prefix.go:659: Error 100.0%
github.com/metal-stack/go-ipam/prefix.go:667: Error 100.0%
github.com/metal-stack/go-ipam/prefix.go:676: Error 100.0%
github.com/metal-stack/go-ipam/prefix.go:684: Error 100.0%
github.com/metal-stack/go-ipam/prefix.go:691: retryOnOptimisticLock 100.0%
github.com/metal-stack/go-ipam/redis.go:18: NewRedis 0.0%
github.com/metal-stack/go-ipam/redis.go:21: Name 0.0%
github.com/metal-stack/go-ipam/redis.go:25: newRedis 100.0%
github.com/metal-stack/go-ipam/redis.go:38: CreatePrefix 75.0%
github.com/metal-stack/go-ipam/redis.go:56: ReadPrefix 100.0%
github.com/metal-stack/go-ipam/redis.go:66: DeleteAllPrefixes 100.0%
github.com/metal-stack/go-ipam/redis.go:72: ReadAllPrefixes 80.0%
github.com/metal-stack/go-ipam/redis.go:95: ReadAllPrefixCidrs 83.3%
github.com/metal-stack/go-ipam/redis.go:104: UpdatePrefix 87.5%
github.com/metal-stack/go-ipam/redis.go:144: DeletePrefix 83.3%
github.com/metal-stack/go-ipam/sql.go:14: prefixExists 100.0%
github.com/metal-stack/go-ipam/sql.go:22: CreatePrefix 78.6%
github.com/metal-stack/go-ipam/sql.go:43: ReadPrefix 100.0%
github.com/metal-stack/go-ipam/sql.go:52: DeleteAllPrefixes 100.0%
github.com/metal-stack/go-ipam/sql.go:58: ReadAllPrefixes 81.8%
github.com/metal-stack/go-ipam/sql.go:77: ReadAllPrefixCidrs 80.0%
github.com/metal-stack/go-ipam/sql.go:88: UpdatePrefix 70.4%
github.com/metal-stack/go-ipam/sql.go:128: DeletePrefix 71.4%
github.com/metal-stack/go-ipam/sql.go:139: Name 0.0%
total: (statements) 79.8%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment