diff --git a/asterix-app/src/test/java/edu/uci/ics/asterix/test/aql/TestsUtils.java b/asterix-app/src/test/java/edu/uci/ics/asterix/test/aql/TestsUtils.java
index 7aa04c3..2602707 100644
--- a/asterix-app/src/test/java/edu/uci/ics/asterix/test/aql/TestsUtils.java
+++ b/asterix-app/src/test/java/edu/uci/ics/asterix/test/aql/TestsUtils.java
@@ -54,12 +54,8 @@
         try {
 
             while ((lineExpected = readerExpected.readLine()) != null) {
-                // Skipe the blank line in the expected file.
-                if (lineExpected.isEmpty()) {
-                    continue;
-                }
-                if (jArray.length() <= chunkCounter) {
-                    throw new Exception("No more results available.");
+                if (jArray.length() <= 0) {
+                    throw new Exception("No results returned for query.");
                 }
                 JSONArray resultArray = jArray.getJSONArray(chunkCounter);
 
@@ -77,8 +73,15 @@
                 if (recordCounter >= resultArray.length()) {
                     chunkCounter++;
                     recordCounter = 0;
+                    if (chunkCounter >= jArray.length()) {
+                        break;
+                    }
                 }
             }
+
+            while ((lineExpected = readerExpected.readLine()) != null) {
+                // TODO(khurram): Print out the remaining expected file contents
+            }
         } finally {
             readerExpected.close();
         }
diff --git a/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java b/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
index 9a7e1d0..aacec61 100644
--- a/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
+++ b/asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
@@ -233,6 +233,13 @@
         for (CompilationUnit cUnit : cUnits) {
             LOGGER.info("[TEST]: " + tcCtx.getTestCase().getFilePath() + "/" + cUnit.getName());
 
+//            if (!(tcCtx.getTestCase().getFilePath().contains("dml") && cUnit.getName().equals(
+//                    "delete-from-loaded-dataset-with-index"))) {
+//                continue;
+//            }
+//
+//            System.out.println("/Test/: " + tcCtx.getTestCase().getFilePath() + "/" + cUnit.getName());
+
             testFileCtxs = tcCtx.getTestFiles(cUnit);
             expectedResultFileCtxs = tcCtx.getExpectedResultFiles(cUnit);
 
