summaryrefslogtreecommitdiff
path: root/integrationtests/dgrep_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'integrationtests/dgrep_test.go')
-rw-r--r--integrationtests/dgrep_test.go272
1 files changed, 194 insertions, 78 deletions
diff --git a/integrationtests/dgrep_test.go b/integrationtests/dgrep_test.go
index 943f99e..9611872 100644
--- a/integrationtests/dgrep_test.go
+++ b/integrationtests/dgrep_test.go
@@ -13,28 +13,57 @@ func TestDGrep1(t *testing.T) {
t.Log("Skipping")
return
}
- inFile := "mapr_testdata.log"
- outFile := "dgrep.stdout.tmp"
- expectedOutFile := "dgrep1.txt.expected"
-
- _, err := runCommand(context.TODO(), t, outFile,
- "../dgrep",
- "--plain",
- "--cfg", "none",
- "--grep", "1002-071947",
- inFile)
- if err != nil {
- t.Error(err)
- return
+ // Test both serverless and server modes
+ modes := []struct {
+ name string
+ useServer bool
+ }{
+ {"Serverless", false},
+ {"WithServer", true},
}
-
- if err := compareFiles(t, outFile, expectedOutFile); err != nil {
- t.Error(err)
- return
+
+ for _, mode := range modes {
+ t.Run(mode.name, func(t *testing.T) {
+ if err := testDGrep1(t, mode.useServer); err != nil {
+ t.Error(err)
+ return
+ }
+ })
}
+}
- os.Remove(outFile)
+func testDGrep1(t *testing.T, useServer bool) error {
+ outFile := "dgrep.stdout.tmp"
+
+ if useServer {
+ // Use small test data for server mode to avoid channel overflow
+ inFile := "small_mapr_testdata.log"
+ expectedOutFile := "small_dgrep1.txt.expected"
+ args := []string{"--plain", "--cfg", "none", "--grep", "1002-071947", inFile}
+ return testDGrepWithServer(t, args, outFile, expectedOutFile)
+ } else {
+ inFile := "mapr_testdata.log"
+ expectedOutFile := "dgrep1.txt.expected"
+
+ _, err := runCommand(context.TODO(), t, outFile,
+ "../dgrep",
+ "--plain",
+ "--cfg", "none",
+ "--grep", "1002-071947",
+ inFile)
+
+ if err != nil {
+ return err
+ }
+
+ if err := compareFiles(t, outFile, expectedOutFile); err != nil {
+ return err
+ }
+
+ os.Remove(outFile)
+ return nil
+ }
}
func TestDGrep2(t *testing.T) {
@@ -42,29 +71,58 @@ func TestDGrep2(t *testing.T) {
t.Log("Skipping")
return
}
- inFile := "mapr_testdata.log"
- outFile := "dgrep2.stdout.tmp"
- expectedOutFile := "dgrep2.txt.expected"
-
- _, err := runCommand(context.TODO(), t, outFile,
- "../dgrep",
- "--plain",
- "--cfg", "none",
- "--grep", "1002-071947",
- "--invert",
- inFile)
-
- if err != nil {
- t.Error(err)
- return
- }
- if err := compareFiles(t, outFile, expectedOutFile); err != nil {
- t.Error(err)
- return
+ // Test both serverless and server modes
+ modes := []struct {
+ name string
+ useServer bool
+ }{
+ {"Serverless", false},
+ {"WithServer", true},
}
+
+ for _, mode := range modes {
+ t.Run(mode.name, func(t *testing.T) {
+ if err := testDGrep2(t, mode.useServer); err != nil {
+ t.Error(err)
+ return
+ }
+ })
+ }
+}
- os.Remove(outFile)
+func testDGrep2(t *testing.T, useServer bool) error {
+ outFile := "dgrep2.stdout.tmp"
+
+ if useServer {
+ // Use small test data for server mode to avoid channel overflow
+ inFile := "small_mapr_testdata.log"
+ expectedOutFile := "small_dgrep2.txt.expected"
+ args := []string{"--plain", "--cfg", "none", "--grep", "1002-071947", "--invert", inFile}
+ return testDGrepWithServer(t, args, outFile, expectedOutFile)
+ } else {
+ inFile := "mapr_testdata.log"
+ expectedOutFile := "dgrep2.txt.expected"
+
+ _, err := runCommand(context.TODO(), t, outFile,
+ "../dgrep",
+ "--plain",
+ "--cfg", "none",
+ "--grep", "1002-071947",
+ "--invert",
+ inFile)
+
+ if err != nil {
+ return err
+ }
+
+ if err := compareFiles(t, outFile, expectedOutFile); err != nil {
+ return err
+ }
+
+ os.Remove(outFile)
+ return nil
+ }
}
func TestDGrepContext1(t *testing.T) {
@@ -72,29 +130,58 @@ func TestDGrepContext1(t *testing.T) {
t.Log("Skipping")
return
}
- inFile := "mapr_testdata.log"
- outFile := "dgrepcontext1.stdout.tmp"
- expectedOutFile := "dgrepcontext1.txt.expected"
-
- _, err := runCommand(context.TODO(), t, outFile,
- "../dgrep",
- "--plain",
- "--cfg", "none",
- "--grep", "1002-071947",
- "--after", "3",
- "--before", "3", inFile)
-
- if err != nil {
- t.Error(err)
- return
- }
- if err := compareFiles(t, outFile, expectedOutFile); err != nil {
- t.Error(err)
- return
+ // Test both serverless and server modes
+ modes := []struct {
+ name string
+ useServer bool
+ }{
+ {"Serverless", false},
+ {"WithServer", true},
}
+
+ for _, mode := range modes {
+ t.Run(mode.name, func(t *testing.T) {
+ if err := testDGrepContext1(t, mode.useServer); err != nil {
+ t.Error(err)
+ return
+ }
+ })
+ }
+}
- os.Remove(outFile)
+func testDGrepContext1(t *testing.T, useServer bool) error {
+ outFile := "dgrepcontext1.stdout.tmp"
+
+ if useServer {
+ // Use small test data for server mode to avoid channel overflow
+ inFile := "small_mapr_testdata.log"
+ expectedOutFile := "small_dgrepcontext1.txt.expected"
+ args := []string{"--plain", "--cfg", "none", "--grep", "1002-071947", "--after", "3", "--before", "3", inFile}
+ return testDGrepWithServer(t, args, outFile, expectedOutFile)
+ } else {
+ inFile := "mapr_testdata.log"
+ expectedOutFile := "dgrepcontext1.txt.expected"
+
+ _, err := runCommand(context.TODO(), t, outFile,
+ "../dgrep",
+ "--plain",
+ "--cfg", "none",
+ "--grep", "1002-071947",
+ "--after", "3",
+ "--before", "3", inFile)
+
+ if err != nil {
+ return err
+ }
+
+ if err := compareFiles(t, outFile, expectedOutFile); err != nil {
+ return err
+ }
+
+ os.Remove(outFile)
+ return nil
+ }
}
func TestDGrepContext2(t *testing.T) {
@@ -102,27 +189,56 @@ func TestDGrepContext2(t *testing.T) {
t.Log("Skipping")
return
}
- inFile := "mapr_testdata.log"
- outFile := "dgrepcontext2.stdout.tmp"
- expectedOutFile := "dgrepcontext2.txt.expected"
-
- _, err := runCommand(context.TODO(), t, outFile,
- "../dgrep",
- "--plain",
- "--cfg", "none",
- "--grep", "1002",
- "--max", "3",
- inFile)
-
- if err != nil {
- t.Error(err)
- return
- }
- if err := compareFiles(t, outFile, expectedOutFile); err != nil {
- t.Error(err)
- return
+ // Test both serverless and server modes
+ modes := []struct {
+ name string
+ useServer bool
+ }{
+ {"Serverless", false},
+ {"WithServer", true},
}
+
+ for _, mode := range modes {
+ t.Run(mode.name, func(t *testing.T) {
+ if err := testDGrepContext2(t, mode.useServer); err != nil {
+ t.Error(err)
+ return
+ }
+ })
+ }
+}
- os.Remove(outFile)
+func testDGrepContext2(t *testing.T, useServer bool) error {
+ outFile := "dgrepcontext2.stdout.tmp"
+
+ if useServer {
+ // Use small test data for server mode to avoid channel overflow
+ inFile := "small_mapr_testdata.log"
+ expectedOutFile := "small_dgrepcontext2.txt.expected"
+ args := []string{"--plain", "--cfg", "none", "--grep", "1002", "--max", "3", inFile}
+ return testDGrepWithServer(t, args, outFile, expectedOutFile)
+ } else {
+ inFile := "mapr_testdata.log"
+ expectedOutFile := "dgrepcontext2.txt.expected"
+
+ _, err := runCommand(context.TODO(), t, outFile,
+ "../dgrep",
+ "--plain",
+ "--cfg", "none",
+ "--grep", "1002",
+ "--max", "3",
+ inFile)
+
+ if err != nil {
+ return err
+ }
+
+ if err := compareFiles(t, outFile, expectedOutFile); err != nil {
+ return err
+ }
+
+ os.Remove(outFile)
+ return nil
+ }
}