()
| 592 | } |
| 593 | |
| 594 | @Test |
| 595 | public void streamNegativeTest() throws Exception { |
| 596 | Assume.assumeTrue("Skip this test for TEZ temporarily as it hangs", Util.isMapredExecType(cluster.getExecType())); |
| 597 | final String OUTPUT_FILE_2 = "output2"; |
| 598 | PrintWriter w = new PrintWriter(new FileWriter(PIG_FILE)); |
| 599 | w.println("A = load '" + INPUT_FILE + "' as (a0:int, a1:int, a2:int);"); |
| 600 | w.println("B = foreach A generate 1;"); |
| 601 | w.println("C = foreach A generate 0/0;"); |
| 602 | w.println("store B into '" + OUTPUT_FILE + "';"); |
| 603 | w.println("store C into '" + OUTPUT_FILE_2 + "';"); |
| 604 | w.println("D = load '" + OUTPUT_FILE_2 + "';"); |
| 605 | w.println("E = stream D through `false`;"); |
| 606 | w.println("store E into 'ee';"); |
| 607 | w.close(); |
| 608 | |
| 609 | try { |
| 610 | String[] args = { "-x", execType, PIG_FILE }; |
| 611 | PigStats stats = PigRunner.run(args, null); |
| 612 | assertTrue(!stats.isSuccessful()); |
| 613 | if (execType.equals("tez")) { |
| 614 | assertTrue(stats.getReturnCode() == ReturnCode.FAILURE); |
| 615 | assertTrue(stats.getJobGraph().size() == 1); |
| 616 | JobStats job = (JobStats)stats.getJobGraph().getSinks().get(0); |
| 617 | assertTrue(!job.isSuccessful()); |
| 618 | assertTrue(stats.getOutputStats().size() == 3); |
| 619 | for (OutputStats output : stats.getOutputStats()) { |
| 620 | assertTrue(!output.isSuccessful()); |
| 621 | } |
| 622 | } else { |
| 623 | assertTrue(stats.getReturnCode() == ReturnCode.PARTIAL_FAILURE); |
| 624 | assertTrue(stats.getJobGraph().size() == 2); |
| 625 | JobStats job = (JobStats)stats.getJobGraph().getSources().get(0); |
| 626 | assertTrue(job.isSuccessful()); |
| 627 | job = (JobStats)stats.getJobGraph().getSinks().get(0); |
| 628 | assertTrue(!job.isSuccessful()); |
| 629 | assertTrue(stats.getOutputStats().size() == 3); |
| 630 | for (OutputStats output : stats.getOutputStats()) { |
| 631 | if (output.getName().equals("ee")) { |
| 632 | assertTrue(!output.isSuccessful()); |
| 633 | } else { |
| 634 | assertTrue(output.isSuccessful()); |
| 635 | } |
| 636 | } |
| 637 | } |
| 638 | } finally { |
| 639 | new File(PIG_FILE).delete(); |
| 640 | Util.deleteFile(cluster, OUTPUT_FILE); |
| 641 | Util.deleteFile(cluster, OUTPUT_FILE_2); |
| 642 | } |
| 643 | } |
| 644 | |
| 645 | @Test |
| 646 | public void testIsTempFile() throws Exception { |
nothing calls this directly
no test coverage detected