Uploaded image for project: 'Edgent'
  1. Edgent
  2. EDGENT-143

bogus test behavior with DevelopmentProvider

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • None
    • None
    • Runtime
    • None

    Description

      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());
      }

      Attachments

        Activity

          People

            Unassigned Unassigned
            dlaboss Dale LaBossiere
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: