Browse Source

- more fuzz function tests
- adjust fuzz function so it passes tests

flashmob 8 years ago
parent
commit
507a457327
2 changed files with 14 additions and 3 deletions
  1. 5 3
      fuzz.go
  2. 9 0
      fuzz_test.go

+ 5 - 3
fuzz.go

@@ -115,6 +115,10 @@ func Fuzz(data []byte) int {
 	time.Sleep(time.Millisecond + 10)
 
 	for {
+		if mockClient.bufout.Buffered() == 0 {
+			break
+		}
+
 		b = make([]byte, 1024)
 		if n, err := conn.Client.Read(b); err != nil {
 			if isFuzzDebug {
@@ -131,9 +135,7 @@ func Fuzz(data []byte) int {
 		if isFuzzDebug {
 			fmt.Println("buffered:", mockClient.bufout.Buffered())
 		}
-		if mockClient.bufout.Buffered() == 0 {
-			break
-		}
+
 	}
 
 	return 1

+ 9 - 0
fuzz_test.go

@@ -192,3 +192,12 @@ func TestFuzz3(t *testing.T) {
 	}
 
 }
+
+func TestFuzz4(t *testing.T) {
+	isFuzzDebug = true
+	result := Fuzz([]byte("MAIL from: <\r"))
+	if result != 1 {
+		t.Error("Fuzz test did not return 1")
+	}
+
+}