org.junit.ComparisonFailure when unittesting my language [message #997302] |
Sat, 05 January 2013 05:38  |
Eclipse User |
|
|
|
Hello when unit testing my language I got into a weird error. When trying to isolate it I ends up with the same error for this language:
grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
Model: (typeImports+=IHT | typeDefines+=ED )*;
IHT returns ST:
{IHT} 'imp' name=ID ';'
;
ED returns ST:
{ED} 'enum' name=ID ';'
;
The error is:
org.junit.ComparisonFailure: expected:<[enum Y; imp X];> but was:<[imp X;enum Y];>
at org.junit.Assert.assertEquals(Assert.java:123)
at org.junit.Assert.assertEquals(Assert.java:145)
at org.eclipse.xtext.junit4.serializer.SerializerTester.assertSerializeWithNodeModel(SerializerTester.java:96)
at org.eclipse.xtext.junit4.AbstractXtextTests.getResourceAndExpect(AbstractXtextTests.java:271)
at org.eclipse.xtext.junit4.AbstractXtextTests.getResource(AbstractXtextTests.java:244)
at org.eclipse.xtext.junit4.AbstractXtextTests.getResource(AbstractXtextTests.java:219)
at org.eclipse.xtext.junit4.AbstractXtextTests.getModel(AbstractXtextTests.java:190)
at org.eclipse.xtext.junit4.AbstractXtextTests.getModel(AbstractXtextTests.java:186)
at org.xtext.example.mydsl.tests.TestXTextBug.test(TestXTextBug.java:15)
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:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
And the tester is:
package org.xtext.example.mydsl.tests;
import org.eclipse.xtext.junit4.AbstractXtextTests;
import org.eclipse.xtext.junit4.InjectWith;
import org.junit.Test;
import org.xtext.example.mydsl.MyDslInjectorProvider;
import org.xtext.example.mydsl.MyDslStandaloneSetup;
@InjectWith(MyDslInjectorProvider.class)
public class TestXTextBug extends AbstractXtextTests {
@Test
public void test() throws Exception {
with(MyDslStandaloneSetup.class);
getModel("enum Y; imp X;");
}
}
If we remove both ';' in the grammar it works, if we remove only the one in 'enum' it still fails, if we remove the "returns ST" type conversion it still fails. My Xtext version is 2.3.1.v201208210947.
Did I missed something?
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.42420 seconds