MCPcopy Create free account
hub / github.com/PostHog/duckgres / TestGoldenQueryPerformanceHarness

Function TestGoldenQueryPerformanceHarness

tests/perf/harness_test.go:47–189  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

45 if !*perfRun {
46 t.Skip("set -perf-run to execute the perf harness")
47 }
48
49 runID := *perfRunID
50 if runID == "" {
51 runID = time.Now().UTC().Format("20060102T150405Z")
52 }
53 nightlyMode := strings.HasPrefix(runID, "nightly-")
54
55 catalog, err := core.LoadCatalog(*perfCatalog)
56 if err != nil {
57 t.Fatalf("LoadCatalog(%s): %v", *perfCatalog, err)
58 }
59
60 runtimeContract, err := datasets.ResolveRuntimeContract(defaultManifestPath(*perfCatalog))
61 if err != nil {
62 t.Fatalf("resolve dataset runtime contract: %v", err)
63 }
64 if nightlyMode && !runtimeContract.Frozen {
65 t.Fatalf("nightly run requires %s", datasets.DatasetVersionEnv)
66 }
67 if nightlyMode || runtimeContract.Frozen {
68 if err := core.ValidateReadOnlyCatalog(catalog); err != nil {
69 t.Fatalf("read-only catalog validation failed: %v", err)
70 }
71 }
72
73 outputDir := filepath.Join(*perfOutputBase, runID)
74 sink, err := core.NewArtifactSink(outputDir)
75 if err != nil {
76 t.Fatalf("NewArtifactSink(%s): %v", outputDir, err)
77 }
78
79 pgwireDSN := *perfPGWireDSN
80 var cpLogs bytes.Buffer
81 if pgwireDSN == "" {
82 h, err := startLocalDuckgres(t, *perfUsername, *perfPassword, &cpLogs)
83 if err != nil {
84 t.Fatalf("start local duckgres: %v", err)
85 }
86 t.Cleanup(func() { h.cleanup() })
87 pgwireDSN = h.pgwireDSN
88 }
89 pgwireDSN, err = pgwireDSNForHarness(pgwireDSN, *perfPassword)
90 if err != nil {
91 t.Fatalf("resolve pgwire dsn: %v", err)
92 }
93
94 pg, err := pgdriver.NewFromDSN(pgwireDSN)
95 if err != nil {
96 t.Fatalf("NewFromDSN(%s): %v", pgwireDSN, err)
97 }
98 t.Cleanup(func() { _ = pg.Close() })
99
100 runner := core.NewQueryRunner(core.RunnerConfig{
101 RunID: runID,
102 Catalog: catalog,
103 DatasetVersion: runtimeContract.DatasetVersion,
104 Drivers: map[core.Protocol]core.ProtocolDriver{

Callers

nothing calls this directly

Calls 15

MetricsGathererMethod · 0.95
ShutdownMethod · 0.95
RunMethod · 0.95
LoadCatalogFunction · 0.92
ResolveRuntimeContractFunction · 0.92
ValidateReadOnlyCatalogFunction · 0.92
NewArtifactSinkFunction · 0.92
NewQueryRunnerFunction · 0.92
GenerateDeterministicFunction · 0.92
defaultManifestPathFunction · 0.85
startLocalDuckgresFunction · 0.85
pgwireDSNForHarnessFunction · 0.85

Tested by

no test coverage detected