diff options
author | Daniel Langesten <daniel.langest@gmail.com> | 2015-03-25 13:06:40 +0100 |
---|---|---|
committer | Daniel Langesten <daniel.langest@gmail.com> | 2015-03-25 13:06:40 +0100 |
commit | cb49c577aa7f1b88f2b65568ac2edd6cc672bd7c (patch) | |
tree | 15aa1eb05096f4d33b77f6723664dbfb425a91d8 | |
parent | 75182b4948db8260f18a0e594a51e846921e8410 (diff) |
fixed so that the test waits for it to be the start of an interval to better simulate the actual pmacct print
-rw-r--r-- | flow-cleaner_test.go | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/flow-cleaner_test.go b/flow-cleaner_test.go index 0c01c1c..a8f9f55 100644 --- a/flow-cleaner_test.go +++ b/flow-cleaner_test.go @@ -3,6 +3,7 @@ package main import ( "bufio" "database/sql" + "fmt" _ "github.com/go-sql-driver/mysql" "io" "os" @@ -33,10 +34,24 @@ func testProcessFromStdin(t *testing.T, cfg *Config) { stdin := make(chan []byte) go func() { + min := time.Now().Minute() + binStart := ((min + 5) / 5) * 5 // Set it to the next interval + wait := (binStart - min) % 5 + dur, err := time.ParseDuration(fmt.Sprintf("%dm", wait)) + if err != nil { + t.Fatal(err) + } + fmt.Println("== Waiting for alignment of timebin before testing ==") + fmt.Println(fmt.Sprintf("== Will start in %d minute(s) ==", wait)) + time.Sleep(dur) + fmt.Println("== Now starting to test ==") + for i := 0; i < 3; i++ { fakeStdin(t, stdin) - if i < 2 { - time.Sleep(3 * time.Minute) + if i < 1 { + fmt.Println("== Now waiting for next time bin ==") + time.Sleep(5 * time.Minute) + fmt.Println("== Now continuing testing ==") } } close(stdin) @@ -48,6 +63,7 @@ func testProcessFromStdin(t *testing.T, cfg *Config) { t.Fatal(err) } } + func fakeStdin(t *testing.T, wr chan<- []byte) { file, err := os.Open("testdata/jsoninput") if err != nil { |