diff --git a/importer/chunk/splitting_test.go b/importer/chunk/splitting_test.go
new file mode 100644
index 0000000000000000000000000000000000000000..0ecb143cbde5c7bd6629bf9fd94ebd94bfd1eb00
--- /dev/null
+++ b/importer/chunk/splitting_test.go
@@ -0,0 +1,53 @@
+package chunk
+
+import (
+	"bytes"
+	"crypto/rand"
+	"testing"
+)
+
+func randBuf(t *testing.T, size int) []byte {
+	buf := make([]byte, size)
+	if _, err := rand.Read(buf); err != nil {
+		t.Fatal("failed to read enough randomness")
+	}
+	return buf
+}
+
+func copyBuf(buf []byte) []byte {
+	cpy := make([]byte, len(buf))
+	copy(cpy, buf)
+	return cpy
+}
+
+func TestSizeSplitterIsDeterministic(t *testing.T) {
+
+	test := func() {
+		bufR := randBuf(t, 10000000) // crank this up to satisfy yourself.
+		bufA := copyBuf(bufR)
+		bufB := copyBuf(bufR)
+
+		chunksA := DefaultSplitter.Split(bytes.NewReader(bufA))
+		chunksB := DefaultSplitter.Split(bytes.NewReader(bufB))
+
+		for n := 0; ; n++ {
+			a, moreA := <-chunksA
+			b, moreB := <-chunksB
+
+			if !moreA {
+				if moreB {
+					t.Fatal("A ended, B didnt.")
+				}
+				return
+			}
+
+			if !bytes.Equal(a, b) {
+				t.Fatalf("chunk %d not equal", n)
+			}
+		}
+	}
+
+	for run := 0; run < 1; run++ { // crank this up to satisfy yourself.
+		test()
+	}
+}