summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Langesten <daniel.langest@gmail.com>2015-03-25 13:06:40 +0100
committerDaniel Langesten <daniel.langest@gmail.com>2015-03-25 13:06:40 +0100
commitcb49c577aa7f1b88f2b65568ac2edd6cc672bd7c (patch)
tree15aa1eb05096f4d33b77f6723664dbfb425a91d8
parent75182b4948db8260f18a0e594a51e846921e8410 (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.go20
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 {