diff --git a/server/main_test.go b/server/main_test.go
index 1fb2b3d1daa78e37a705994c3288bdd3579822ad..45d30bc9b21f3ac6beaeb15401d4a9bd66f487d8 100644
--- a/server/main_test.go
+++ b/server/main_test.go
@@ -28,14 +28,8 @@ import (
 	"github.com/dgraph-io/dgraph/store"
 )
 
-func NewStore(t *testing.T) string {
-	path, err := ioutil.TempDir("", "storetest_")
-	if err != nil {
-		t.Error(err)
-		t.Fail()
-		return ""
-	}
-	return path
+func NewStore() (string, error) {
+	return ioutil.TempDir("", "storetest_")
 }
 
 var q0 = `
@@ -51,13 +45,19 @@ var q0 = `
 	}
 `
 
-func TestQuery(t *testing.T) {
-	pdir := NewStore(t)
+func prepare() error {
+	pdir, err := NewStore()
+	if err != nil {
+		return err
+	}
 	defer os.RemoveAll(pdir)
 	ps := new(store.Store)
 	ps.Init(pdir)
 
-	mdir := NewStore(t)
+	mdir, err := NewStore()
+	if err != nil {
+		return err
+	}
 	defer os.RemoveAll(mdir)
 	ms := new(store.Store)
 	ms.Init(mdir)
@@ -65,16 +65,21 @@ func TestQuery(t *testing.T) {
 
 	f, err := os.Open("testdata.nq")
 	if err != nil {
-		t.Error(err)
-		return
+		return err
 	}
 	defer f.Close()
-	count, err := handleRdfReader(f)
+	_, err = handleRdfReader(f)
 	if err != nil {
+		return err
+	}
+	return nil
+}
+
+func TestQuery(t *testing.T) {
+	if err := prepare(); err != nil {
 		t.Error(err)
 		return
 	}
-	t.Logf("Parsed %v RDFs", count)
 
 	// Parse GQL into internal query representation.
 	g, err := gql.Parse(q0)
@@ -132,3 +137,53 @@ func TestQuery(t *testing.T) {
 	}
 	fmt.Println(string(js))
 }
+
+var q1 = `
+{
+	al(_xid_: alice) {
+		status
+		_xid_
+		follows {
+			status
+			_xid_
+			follows {
+				status
+				_xid_
+				follows {
+					_xid_
+					status
+				}
+			}
+		}
+		status
+		_xid_
+	}
+}
+`
+
+func BenchmarkQuery(b *testing.B) {
+	if err := prepare(); err != nil {
+		b.Error(err)
+		return
+	}
+
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		g, err := gql.Parse(q1)
+		if err != nil {
+			b.Error(err)
+			return
+		}
+		ch := make(chan error)
+		go query.ProcessGraph(g, ch)
+		if err := <-ch; err != nil {
+			b.Error(err)
+			return
+		}
+		_, err = g.ToJson()
+		if err != nil {
+			b.Error(err)
+			return
+		}
+	}
+}
diff --git a/server/testdata.nq b/server/testdata.nq
index 60aa89b782f373ee10edb3e5ca92e503bc02fafc..83699eba9e4c0e93cc38444c1ec7ef8d0094948d 100644
--- a/server/testdata.nq
+++ b/server/testdata.nq
@@ -1,11 +1,11 @@
 <alice> <follows> <bob> .
 <bob> <follows> <fred> .
-<bob> <status> "cool_person" .
+<bob> <status> "I'm your Uncle Bob!" .
 <charlie> <follows> <bob> .
 <charlie> <follows> <dani> .
 <dani> <follows> <bob> .
 <dani> <follows> <greg> .
-<dani> <status> "cool_person" .
+<dani> <status> "Smart Dani" .
 <emily> <follows> <fred> .
 <fred> <follows> <greg> .
-<greg> <status> "cool_person" .
+<greg> <status> "Mr. Cool greg" .