Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 357633 - JUnit failure: cdt.managedbuilder test40
Summary: JUnit failure: cdt.managedbuilder test40
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build-managed (show other bugs)
Version: 8.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 8.1.0   Edit
Assignee: Doug Schaefer CLA
QA Contact: Andrew Gvozdev CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-14 10:07 EDT by Andrew Gvozdev CLA
Modified: 2012-02-23 11:33 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Gvozdev CLA 2011-09-14 10:07:13 EDT
BuildSystem40Tests.test40 fails on Hudson. The test does NOT fail for me neither on Windows nor on Linux.

See below, the difference is that [-I"${WorkspaceDirPath}/test_40/dir1/dir2/dir3" -I"${WorkspaceDirPath}/test_40"] is not generated during Hudson builds:

Following lines do not match (subdir.mk):
actual  : [	g++ -Id1_rel/path -I../d1_proj/rel/path -I/d1_abs/path -Ic:/d1_abs/path -Irel/path -I../proj/rel/path -I/abs/path -Ic:/abs/path -I"D:\docs\incs" -I"D:\d1_docs\incs" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"], file /opt/users/hudsonbuild/workspace/cdt-nightly/build/org.eclipse.cdt.managedbuilder.core.tests/target/work/data/test_40/Test 4.0 ConfigName.Dbg/d1/subdir.mk
expected: [	g++ -Id1_rel/path -I../d1_proj/rel/path -I/d1_abs/path -Ic:/d1_abs/path -Irel/path -I../proj/rel/path -I/abs/path -Ic:/abs/path -I"${WorkspaceDirPath}/test_40/dir1/dir2/dir3" -I"${WorkspaceDirPath}/test_40" -I"D:\docs\incs" -I"D:\d1_docs\incs" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"], file /opt/users/hudsonbuild/workspace/cdt-nightly/build/org.eclipse.cdt.managedbuilder.core.tests/resources/test40Projects/test_40/Benchmarks/Test 4.0 ConfigName.Dbg/d1/subdir.mk
helloworldC, /helloworldC: line 0 ERROR make: *** [helloworldC] Error 1  
Tests run: 119, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 271.784 sec <<< FAILURE!
test40(org.eclipse.cdt.managedbuilder.core.tests.BuildSystem40Tests)  Time elapsed: 8.81 sec  <<< FAILURE!
junit.framework.AssertionFailedError: File subdir.mk does not match its benchmark.
 expected:
 "################################################################################# Automatically-generated file. Do not edit!################################################################################# Add inputs and outputs from these tool invocations to the build variables CPP_SRCS += \../d1/q.cpp \../d1/u.cpp \../d1/w.cpp OBJS += \./d1/q.o \./d1/u.o \./d1/w.o CPP_DEPS += \./d1/q.d \./d1/u.d \./d1/w.d # Each subdirectory must supply rules for building sources it contributesd1/%.o: ../d1/%.cpp	@echo 'Building file: $<'	@echo 'Invoking: Test 4.0 ToolName.compiler.gnu.cpp'	g++ -Id1_rel/path -I../d1_proj/rel/path -I/d1_abs/path -Ic:/d1_abs/path -Irel/path -I../proj/rel/path -I/abs/path -Ic:/abs/path -I"${WorkspaceDirPath}/test_40/dir1/dir2/dir3" -I"${WorkspaceDirPath}/test_40" -I"D:\docs\incs" -I"D:\d1_docs\incs" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"	@echo 'Finished building: $<'	@echo ' '"

 but was:
 "################################################################################# Automatically-generated file. Do not edit!################################################################################# Add inputs and outputs from these tool invocations to the build variables CPP_SRCS += \../d1/q.cpp \../d1/u.cpp \../d1/w.cpp OBJS += \./d1/q.o \./d1/u.o \./d1/w.o CPP_DEPS += \./d1/q.d \./d1/u.d \./d1/w.d # Each subdirectory must supply rules for building sources it contributesd1/%.o: ../d1/%.cpp	@echo 'Building file: $<'	@echo 'Invoking: Test 4.0 ToolName.compiler.gnu.cpp'	g++ -Id1_rel/path -I../d1_proj/rel/path -I/d1_abs/path -Ic:/d1_abs/path -Irel/path -I../proj/rel/path -I/abs/path -Ic:/abs/path -I"D:\docs\incs" -I"D:\d1_docs\incs" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"	@echo 'Finished building: $<'	@echo ' '"

 >>>>>>>>>>>>>>>start diff: 

<<<<<<<<<<<end diff

 
	at junit.framework.Assert.fail(Assert.java:47)
	at org.eclipse.cdt.managedbuilder.testplugin.ManagedBuildTestHelper.compareBenchmarks(ManagedBuildTestHelper.java:480)
	at org.eclipse.cdt.managedbuilder.core.tests.BuildSystem40Tests.buildProjectsWorker(BuildSystem40Tests.java:494)
	at org.eclipse.cdt.managedbuilder.core.tests.BuildSystem40Tests.buildProjects(BuildSystem40Tests.java:454)
	at org.eclipse.cdt.managedbuilder.core.tests.BuildSystem40Tests.test40(BuildSystem40Tests.java:94)
	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 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:243)
	at junit.framework.TestSuite.run(TestSuite.java:238)
	at junit.framework.TestSuite.runTest(TestSuite.java:243)
	at junit.framework.TestSuite.run(TestSuite.java:238)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:72)
	at org.eclipse.tycho.surefire.osgibooter.AbstractUITestApplication$1.run(AbstractUITestApplication.java:35)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	at org.eclipse.tycho.surefire.osgibooter.UITestApplication.runApplication(UITestApplication.java:31)
	at org.eclipse.tycho.surefire.osgibooter.AbstractUITestApplication.run(AbstractUITestApplication.java:114)
	at org.eclipse.tycho.surefire.osgibooter.UITestApplication.start(UITestApplication.java:37)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)


Results :

Failed tests: 
  test40(org.eclipse.cdt.managedbuilder.core.tests.BuildSystem40Tests)
Comment 1 Doug Schaefer CLA 2011-09-14 10:42:04 EDT
Interesting. Thanks, Andrew. That points to a problem we have with build to begin with. Variables like this are provided by UI components. Hudson just runs the test plug-ins based on the dependencies specifies in the plug-in and in the POM, which currently don't contain them. I'll take a look and see if I can add the dependency in to the POM to make it work.
Comment 2 Doug Schaefer CLA 2011-09-14 11:19:35 EDT
Ah, yes, I haven't updated all the test plug-ins with the complete CDT deps.
Comment 3 Doug Schaefer CLA 2011-09-14 12:13:35 EDT
That seemed to fix it. w00t! one more down.
Comment 4 Andrew Gvozdev CLA 2011-09-14 12:17:41 EDT
(In reply to comment #3)
> That seemed to fix it. w00t! one more down.
Thanks! Three more up though it looks like.
Comment 5 Doug Schaefer CLA 2011-09-14 12:31:26 EDT
(In reply to comment #4)
> (In reply to comment #3)
> > That seemed to fix it. w00t! one more down.
> Thanks! Three more up though it looks like.

Yup, looking at the core/ui ones now. May just turn off the lrparser tests.