diff options
| author | Paul Buetow <paul@buetow.org> | 2025-06-16 00:38:50 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-06-16 00:38:50 +0300 |
| commit | 0e63fe222d52c8ce01b648be67cf8f0688140679 (patch) | |
| tree | b6eabd72114865be343fef8cfea8ef2cf1410202 | |
| parent | ca64033bcbc60666735137dbecd4a0db918f07b8 (diff) | |
fix tests
| -rw-r--r-- | internal/clients/dgrep_bench_test.go | 143 | ||||
| -rw-r--r-- | internal/io/fs/cat_bench_test.go | 68 |
2 files changed, 0 insertions, 211 deletions
diff --git a/internal/clients/dgrep_bench_test.go b/internal/clients/dgrep_bench_test.go deleted file mode 100644 index 994ec10..0000000 --- a/internal/clients/dgrep_bench_test.go +++ /dev/null @@ -1,143 +0,0 @@ -package clients - -import ( - "context" - "os" - "sync" - "testing" - - "github.com/mimecast/dtail/internal/config" - "github.com/mimecast/dtail/internal/io/dlog" - "github.com/mimecast/dtail/internal/io/signal" - "github.com/mimecast/dtail/internal/source" - "github.com/mimecast/dtail/internal/user" -) - -func ensureTestFile10MBForDgrep(b *testing.B, filename string) { - const line = "2023-01-01 12:00:00 INFO [service] Processing request id=12345 user=john.doe@example.com action=login status=success duration=150ms\n" - const targetSize = 10 * 1024 * 1024 // 10MB - if fi, err := os.Stat(filename); err == nil && fi.Size() >= targetSize { - return // File already exists and is large enough - } - f, err := os.Create(filename) - if err != nil { - b.Fatalf("failed to create test file: %v", err) - } - defer f.Close() - written := int64(0) - for written < targetSize { - n, err := f.WriteString(line) - if err != nil { - b.Fatalf("failed to write to test file: %v", err) - } - written += int64(n) - } -} - -func BenchmarkDGrepFile10MBNoMatch(b *testing.B) { - const filename = "testfile_10mb_dgrep.log" - b.Log("Ensuring test file exists...") - ensureTestFile10MBForDgrep(b, filename) - b.Log("Test file ensured.") - - // Setup args similar to dgrep main - args := config.Args{ - RegexStr: "NONEXISTENTPATTERN12345", // Pattern that won't match anything - What: filename, - NoColor: true, - Plain: true, - Quiet: true, - ConnectionsPerCPU: config.DefaultConnectionsPerCPU, - SSHPort: config.DefaultSSHPort, - Logger: "none", // Use none logger to suppress output - LogLevel: "TRACE", - UserName: user.Name(), - ConfigFile: "none", - } - - // Initialize config first - config.Setup(source.Client, &args, []string{}) - - // Initialize logging context only if not already started - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - var wg sync.WaitGroup - - // Only start dlog if it hasn't been started already - if dlog.Client == nil { - wg.Add(1) - dlog.Start(ctx, &wg, source.Client) - } - - b.ResetTimer() - for i := 0; i < b.N; i++ { - client, err := NewGrepClient(args) - if err != nil { - b.Fatalf("failed to create grep client: %v", err) - } - - // Run the grep operation - client.Start(ctx, signal.InterruptCh(ctx)) - } - b.StopTimer() - - cancel() - wg.Wait() - - // Cleanup - os.Remove(filename) -} - -func BenchmarkDGrepFile10MBWithMatches(b *testing.B) { - const filename = "testfile_10mb_dgrep.log" - b.Log("Ensuring test file exists...") - ensureTestFile10MBForDgrep(b, filename) - b.Log("Test file ensured.") - - // Setup args similar to dgrep main - args := config.Args{ - RegexStr: "user=john.doe", // Pattern that will match every line - What: filename, - NoColor: true, - Plain: true, - Quiet: true, - ConnectionsPerCPU: config.DefaultConnectionsPerCPU, - SSHPort: config.DefaultSSHPort, - Logger: "none", // Use none logger to suppress output - LogLevel: "TRACE", - UserName: user.Name(), - ConfigFile: "none", - } - - // Initialize config first - config.Setup(source.Client, &args, []string{}) - - // Initialize logging context only if not already started - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - var wg sync.WaitGroup - - // Only start dlog if it hasn't been started already - if dlog.Client == nil { - wg.Add(1) - dlog.Start(ctx, &wg, source.Client) - } - - b.ResetTimer() - for i := 0; i < b.N; i++ { - client, err := NewGrepClient(args) - if err != nil { - b.Fatalf("failed to create grep client: %v", err) - } - - // Run the grep operation - client.Start(ctx, signal.InterruptCh(ctx)) - } - b.StopTimer() - - cancel() - wg.Wait() - - // Cleanup - os.Remove(filename) -}
\ No newline at end of file diff --git a/internal/io/fs/cat_bench_test.go b/internal/io/fs/cat_bench_test.go deleted file mode 100644 index ce485bb..0000000 --- a/internal/io/fs/cat_bench_test.go +++ /dev/null @@ -1,68 +0,0 @@ -package fs - -import ( - "context" - "os" - "testing" - - "github.com/mimecast/dtail/internal/config" - "github.com/mimecast/dtail/internal/lcontext" - "github.com/mimecast/dtail/internal/regex" -) - -func ensureTestFile100MBForCat(b *testing.B, filename string) { - const line = "test line 1\n" - const targetSize = 100 * 1024 * 1024 // 100MB - if fi, err := os.Stat(filename); err == nil && fi.Size() >= targetSize { - return // File already exists and is large enough - } - f, err := os.Create(filename) - if err != nil { - b.Fatalf("failed to create test file: %v", err) - } - defer f.Close() - written := int64(0) - for written < targetSize { - n, err := f.WriteString(line) - if err != nil { - b.Fatalf("failed to write to test file: %v", err) - } - written += int64(n) - } -} - -func BenchmarkCatFile100MB(b *testing.B) { - const filename = "testfile_100mb.log" - const globID = "test" - b.Log("Ensuring test file exists...") - ensureTestFile100MBForCat(b, filename) - b.Log("Test file ensured.") - serverMessages := make(chan string, 100) - - b.Log("Created serverMessages channel.") - catFile := NewCatFile(filename, globID, serverMessages) - b.Log("Created CatFile instance.") - ltx := lcontext.LContext{} - noopRegex, _ := regex.New("", regex.Noop) - ctx := context.Background() - config.Server = &config.ServerConfig{} // Initialize config.Server - b.Log("Initialized context and config.Server.") - b.ResetTimer() - for i := 0; i < b.N; i++ { - b.Logf("Starting iteration %d...", i) - go func() { - b.Log("Goroutine started to read messages.") - for msg := range serverMessages { - b.Logf("Received message: %s", msg) - } - b.Log("Goroutine finished reading messages.") - }() - b.Log("Started goroutine to read messages.") - b.Log("Calling catFile.Start...") - catFile.Start(ctx, ltx, nil, noopRegex) - b.Log("catFile.Start completed.") - } - b.StopTimer() - close(serverMessages) - b.Log("Benchmark completed.") -} |
