Uploaded image for project: 'Tuscany'
  1. Tuscany
  2. TUSCANY-2484

OuterTestCase in itest/recursive produces assertion failure

Details

    Description

      With 1.3 RC1a, itest/recursive produces the following assertion failure:

      Running test.OuterTestCase
      20-Jul-2008 22:06:14 org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor read
      WARNING: Element

      {http://schemas.xmlsoap.org/ws/2004/09/policy}

      Policy cannot be processed. ([row,col,system-id]: [36,9,"file:/F:/tuscany-1.3-rc1a/tuscany-sca-1.
      3-src/itest/recursive/target/classes/policy/definitions.xml"])
      20-Jul-2008 22:06:14 org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor
      WARNING: Element

      {http://schemas.xmlsoap.org/ws/2004/09/policy}

      Policy cannot be processed. ([row,col,system-id]: [36,9,"file:/F:/tuscany-1.3-rc1a/tuscany-sca-1.
      3-src/itest/recursive/target/classes/policy/definitions.xml"])
      20-Jul-2008 22:06:14 org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor read
      WARNING: Element

      {http://schemas.xmlsoap.org/ws/2004/09/policy}

      Policy cannot be processed. ([row,col,system-id]: [43,9,"file:/F:/tuscany-1.3-rc1a/tuscany-sca-1.
      3-src/itest/recursive/target/classes/policy/definitions.xml"])
      20-Jul-2008 22:06:14 org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor
      WARNING: Element

      {http://schemas.xmlsoap.org/ws/2004/09/policy}

      Policy cannot be processed. ([row,col,system-id]: [43,9,"file:/F:/tuscany-1.3-rc1a/tuscany-sca-1.
      3-src/itest/recursive/target/classes/policy/definitions.xml"])
      uniSource: OuterSource
      junit.framework.AssertionFailedError: null
      at junit.framework.Assert.fail(Assert.java:47)
      at junit.framework.Assert.assertTrue(Assert.java:20)
      at junit.framework.Assert.assertTrue(Assert.java:27)
      at test.OuterTestCase.test(OuterTestCase.java:44)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at junit.framework.TestCase.runTest(TestCase.java:168)
      at junit.framework.TestCase.runBare(TestCase.java:134)
      at junit.framework.TestResult$1.protect(TestResult.java:110)
      at junit.framework.TestResult.runProtected(TestResult.java:128)
      at junit.framework.TestResult.run(TestResult.java:113)
      at junit.framework.TestCase.run(TestCase.java:124)
      at junit.framework.TestSuite.runTest(TestSuite.java:232)
      at junit.framework.TestSuite.run(TestSuite.java:227)
      at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
      at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
      Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.294 sec
      at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
      at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
      at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:308)
      at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:879)

      The failure does not stop the build because of the following code in OuterTestCase.java:
      public void test() throws Exception {
      try

      { String result = aggregator.getAggregatedData(); assertTrue(result.contains("InnerSource")); assertTrue(result.contains("OuterSource")); System.out.println(result); }

      catch (Throwable t)

      { t.printStackTrace(); }

      }
      The catch clause prints and swallows the exception and thus hides the failure from maven.

      When running the same test case on 1.2, the failure does not occur and correct results are returned as follows:

      Running test.OuterTestCase
      20-Jul-2008 21:42:42 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem
      WARNING: Component reference uniSource has more than one wires
      uniSource: OuterSource
      multiSource: OuterSource, InnerSource
      Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.197 sec

      When running this on 1.3, the line "multiSource: OuterSource, InnerSource" is not returned, and this causes the assertion failure.

      This test case is testing promotion of an inner component reference with multiplicity > 1 and adding an additional wire at the outer promoted level. The failure with 1.3 indicates that this functionality has regressed because of some change between 1.2 and 1.3. (I have some suspicions as to where this may be.) This is a serious regression and I have marked this as a critical bug that needs to be fixed before releasing 1.3.

      Attachments

        Activity

          People

            simonslaws Simon Laws
            scnash Simon Nash
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment