MCPcopy
hub / github.com/jackc/pgx / TestConcurrentUsage

Function TestConcurrentUsage

tracelog/tracelog_test.go:559–595  ·  view source on GitHub ↗

https://github.com/jackc/pgx/pull/2120

(t *testing.T)

Source from the content-addressed store, hash-verified

557
558// https://github.com/jackc/pgx/pull/2120
559func TestConcurrentUsage(t *testing.T) {
560 t.Parallel()
561
562 ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second)
563 defer cancel()
564
565 logger := &testLogger{}
566 tracer := &tracelog.TraceLog{
567 Logger: logger,
568 LogLevel: tracelog.LogLevelTrace,
569 }
570
571 config, err := pgxpool.ParseConfig(os.Getenv("PGX_TEST_DATABASE"))
572 require.NoError(t, err)
573 config.ConnConfig.Tracer = tracer
574
575 for range 50 {
576 func() {
577 pool, err := pgxpool.NewWithConfig(ctx, config)
578 require.NoError(t, err)
579
580 defer pool.Close()
581
582 eg := errgroup.Group{}
583
584 for range 5 {
585 eg.Go(func() error {
586 _, err := pool.Exec(ctx, `select 1`)
587 return err
588 })
589 }
590
591 err = eg.Wait()
592 require.NoError(t, err)
593 }()
594 }
595}

Callers

nothing calls this directly

Calls 4

ParseConfigFunction · 0.92
NewWithConfigFunction · 0.92
CloseMethod · 0.65
ExecMethod · 0.65

Tested by

no test coverage detected