MCPcopy
hub / github.com/moby/moby / TestParallel

Function TestParallel

daemon/libnetwork/libnetwork_linux_test.go:1453–1510  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1451}
1452
1453func TestParallel(t *testing.T) {
1454 const (
1455 first = 1
1456 last = 3
1457 numThreads = last - first + 1
1458 iterCnt = 25
1459 )
1460
1461 osctx := netnsutils.SetupTestOSContextEx(t)
1462 defer osctx.Cleanup(t)
1463 controller := newController(t)
1464
1465 netOption := options.Generic{
1466 netlabel.EnableIPv4: true,
1467 netlabel.GenericData: map[string]string{
1468 bridge.BridgeName: "network",
1469 },
1470 }
1471
1472 net1 := makeTesthostNetwork(t, controller)
1473 defer net1.Delete()
1474 net2, err := createTestNetwork(controller, "bridge", "network2", netOption, nil, nil)
1475 assert.NilError(t, err)
1476 defer net2.Delete()
1477
1478 _, err = net1.CreateEndpoint(context.Background(), "pep1")
1479 assert.NilError(t, err)
1480
1481 _, err = net2.CreateEndpoint(context.Background(), "pep2")
1482 assert.NilError(t, err)
1483
1484 _, err = net2.CreateEndpoint(context.Background(), "pep3")
1485 assert.NilError(t, err)
1486
1487 sboxes := make([]*libnetwork.Sandbox, numThreads)
1488 sboxes[first-1], err = controller.NewSandbox(context.Background(), fmt.Sprintf("%drace", first), libnetwork.OptionUseDefaultSandbox())
1489 assert.NilError(t, err)
1490
1491 for thd := first + 1; thd <= last; thd++ {
1492 sboxes[thd-1], err = controller.NewSandbox(context.Background(), fmt.Sprintf("%drace", thd))
1493 assert.NilError(t, err)
1494 }
1495
1496 pt := parallelTester{
1497 osctx: osctx,
1498 controller: controller,
1499 net1: net1,
1500 net2: net2,
1501 iterCnt: iterCnt,
1502 }
1503
1504 var eg errgroup.Group
1505 for i := first; i <= last; i++ {
1506 eg.Go(func() error { return pt.Do(t, i) })
1507 }
1508 err = eg.Wait()
1509 assert.NilError(t, err)
1510}

Callers

nothing calls this directly

Calls 12

DoMethod · 0.95
SetupTestOSContextExFunction · 0.92
OptionUseDefaultSandboxFunction · 0.92
makeTesthostNetworkFunction · 0.85
createTestNetworkFunction · 0.85
NewSandboxMethod · 0.80
GoMethod · 0.80
newControllerFunction · 0.70
CleanupMethod · 0.65
DeleteMethod · 0.65
CreateEndpointMethod · 0.65
WaitMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…