boolean dodmr(ServletTest testcase) throws Exception { boolean pass = true; // Create request and response objects Mocker mocker = new Mocker("dap4", testcase.makeurl(RequestMode.DMR), this); // See if the servlet can process this try { mocker.controller.handleRequest(mocker.req, mocker.resp); } catch (Throwable t) { System.out.println(testcase.xfail ? "XFail" : "Fail"); t.printStackTrace(); return testcase.xfail; } // Collect the output byte[] byteresult = mocker.resp.getContentAsByteArray(); // Test by converting the raw output to a string String sdmr = new String(byteresult, UTF8); if (prop_visual) visual(testcase.title + ".dmr", sdmr); if (!testcase.xfail && prop_baseline) { writefile(testcase.baselinepath + ".dmr", sdmr); } else if (prop_diff) { // compare with baseline // Read the baseline file String baselinecontent = readfile(testcase.baselinepath + ".dmr"); System.out.println("DMR Comparison: vs " + testcase.baselinepath + ".dmr"); pass = compare(baselinecontent, sdmr); System.out.println(pass ? "Pass" : "Fail"); } return pass; }
boolean dodata(ServletTest testcase) throws Exception { boolean pass = true; String baseline; // Create request and response objects Mocker mocker = new Mocker("dap4", testcase.makeurl(RequestMode.DAP), this); byte[] byteresult = null; // output // See if the servlet can process this try { byteresult = mocker.execute(); } catch (Throwable t) { System.out.println(testcase.xfail ? "XFail" : "Fail"); t.printStackTrace(); return testcase.xfail; } if (prop_debug || DEBUG) { DapDump.dumpbytestream(byteresult, ByteOrder.nativeOrder(), "TestServlet.dodata"); } if (!testcase.xfail && prop_generate) { // Dump the serialization into a file; this also includes the dmr String target = testcase.generatepath + ".raw"; writefile(target, byteresult); } if (DEBUG) { System.out.println("///////////////////"); ByteBuffer datab = ByteBuffer.wrap(byteresult).order(ByteOrder.nativeOrder()); DapDump.dumpbytes(datab, true); System.out.println("///////////////////"); System.out.flush(); } // Setup a ChunkInputStream ByteArrayInputStream bytestream = new ByteArrayInputStream(byteresult); ChunkInputStream reader = new ChunkInputStream(bytestream, RequestMode.DAP, ByteOrder.nativeOrder()); String sdmr = reader.readDMR(); // Read the DMR if (prop_visual) visual(testcase.title + ".dmr.dap", sdmr); Dump printer = new Dump(); String sdata = printer.dumpdata(reader, testcase.checksumming, reader.getByteOrder(), testcase.template); if (prop_visual) visual(testcase.title + ".dap", sdata); if (!testcase.xfail && prop_baseline) writefile(testcase.baselinepath + ".dap", sdata); if (prop_diff) { // compare with baseline // Read the baseline file System.out.println("Note Comparison:"); String baselinecontent = readfile(testcase.baselinepath + ".dap"); pass = compare(baselinecontent, sdata); System.out.println(pass ? "Pass" : "Fail"); } return pass; }