You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@edgent.apache.org by "Dale LaBossiere (JIRA)" <ji...@apache.org> on 2016/04/14 03:44:25 UTC

[jira] [Created] (QUARKS-143) bogus test behavior with DevelopmentProvider

Dale LaBossiere created QUARKS-143:
--------------------------------------

             Summary: bogus test behavior with DevelopmentProvider 
                 Key: QUARKS-143
                 URL: https://issues.apache.org/jira/browse/QUARKS-143
             Project: Quarks
          Issue Type: Bug
          Components: Runtime
            Reporter: Dale LaBossiere


I'm perplexed... if you add the following test to TStreamTest and run the DirectTStreamTest it works.  If you run the DevelopmentTStreamTest it fails as noted in the commentary.

    
    @Test
    public void testBrokenDevelopmentProvider() throws Exception {
        Topology t = newTopology();
        
        // For some reason, the following sequence fails with no content
        // received by the tester when run with the DevelopmentProvider.
        //
        // Commenting out either the s.filter() OR the s.peek() makes it work.
        // OR putting the peek() before the filter() statement works!???
        //
        // This runs fine with the DirectProvider.
        //
        // I understand that given the structure of this test, the test
        // could reach completion before either the filter or peek was actually
        // called for the second tuple but that doesn't mean the tester
        // should receive/report no tuples.  (in practice, the full println
        // output is present when it fails).

        TStream<String> s = t.strings("a", "b");
        s.filter(tuple -> { System.out.println("filter tuple: "+tuple); return true; });
        s.peek(tuple -> System.out.println("peek tuple: "+tuple));

        Condition<Long> tc = t.getTester().tupleCount(s, 2);
        Condition<List<String>> contents = t.getTester().streamContents(s, "a", "b");
        complete(t, tc);

        assertTrue("contents "+contents.getResult(), contents.valid());
    }




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)