[
https://issues.apache.org/activemq/browse/AMQNET-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=53598#action_53598
]
Timothy Bish commented on AMQNET-177:
-------------------------------------
The solution seems to be having the NMSTestSupport class search in the path of
the Executing assembly instead of just looking for the file in the current
working dir.
> NAnt test target not working
> ----------------------------
>
> Key: AMQNET-177
> URL: https://issues.apache.org/activemq/browse/AMQNET-177
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.1.0
> Reporter: Timothy Bish
> Assignee: Timothy Bish
> Priority: Minor
> Fix For: 1.2.0
>
>
> The NAnt test target in the nat-common.xml files isn't working. When run from
> a Linux box the target fails
> The problem is the options passed to the nunit-console:
> {noformat}
> <target name="test-frameworks">
> <foreach item="String" in="${build.framework.strings}" delim=","
> property="current.build.framework">
> <call target="init" />
> <if test="${not build.skip}">
> <exec program="nunit-console" failonerror="true"
> workingdir="build/${current.build.framework}/${current.build.config}">
> <arg value="${NUnit.Projectfile}"/>
> <arg value="/labels"/>
> <arg value="/xml=Nunit.TestOutput.xml"/>
> </exec>
> </if>
> </foreach>
> </target>
> {noformat}
> According to the NUnit console docs on linux the console only accepts hyphens
> for args, and accept both forms on windows, so the target should be changed
> to:
> {noformat}
> <target name="test-frameworks">
> <foreach item="String" in="${build.framework.strings}" delim=","
> property="current.build.framework">
> <call target="init" />
> <if test="${not build.skip}">
> <exec program="nunit-console" failonerror="true"
> workingdir="build/${current.build.framework}/${current.build.config}">
> <arg value="${NUnit.Projectfile}"/>
> <arg value="-labels"/>
> <arg value="-xml=Nunit.TestOutput.xml"/>
> </exec>
> </if>
> </foreach>
> </target>
> {noformat}
> Unfortunately it still doesn't run but gives errors along the lines of:
> {noformat}
> [exec] ** (/usr/lib64/mono/1.0/nunit-console.exe:31465): WARNING **: The
> class System.Collections.Generic.Dictionary`2 could not be loaded, used in
> mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
> [exec] Unhandled Exception:
> [exec] System.TypeLoadException: Could not load type
> 'Apache.NMS.Test.NMSTestSupport' from assembly 'Apache.NMS.Test,
> Version=1.2.0.1663, Culture=neutral, PublicKeyToken=82756feee3957618'.
> [exec]
> [exec] Server stack trace:
> [exec] at (wrapper managed-to-native) System.MonoType:GetMethodsByName
> (string,System.Reflection.BindingFlags,bool,System.Type)
> [exec] at System.MonoType.GetMethods (BindingFlags bindingAttr)
> [0x00000] in
> /builddir/build/BUILD/mono-2.4/mcs/class/corlib/System/MonoType.cs:175
> [exec] at NUnit.Core.Reflect.GetMethodWithAttribute (System.Type
> fixtureType, System.String attributeName, BindingFlags bindingFlags, Boolean
> inherit) [0x00000] in
> /builddir/build/BUILD/mono-2.4/mcs/nunit24/NUnitCore/core/Reflect.cs:212
> [exec] at NUnit.Core.NUnitFramework.GetFixtureSetUpMethod (System.Type
> fixtureType) [0x00000] in
> /builddir/build/BUILD/mono-2.4/mcs/nunit24/NUnitCore/core/NUnitFramework.cs:117
>
> [exec] at NUnit.Core.NUnitTestFixture..ctor (System.Type fixtureType)
> [0x00000] in
> /builddir/build/BUILD/mono-2.4/mcs/nunit24/CommonAssemblyInfo.cs:1
> [exec] at NUnit.Core.Builders.NUnitTestFixtureBuilder.MakeSuite
> (System.Type type) [0x00000] in
> /builddir/build/BUILD/mono-2.4/mcs/nunit24/NUnitCore/core/Builders/NUnitTestFixtureBuilder.cs:32
>
> [exec] at NUnit.Core.Builders.AbstractFixtureBuilder.BuildFrom
> (System.Type type) [0x00000] in
> /builddir/build/BUILD/mono-2.4/mcs/nunit24/NUnitCore/core/Builders/AbstractFixtureBuilder.cs:69
>
> {noformat}
> You get different errors on Windows when you run this but they boil down to
> the same problem, the nunit-console command is running a 1.1 CLR which isn't
> right, it should be calling nunit-console2 which runs a 2.0 CLR. Once you
> make that change then things start to work a bit better. The tests still
> fail because it seems that the tests aren't running from the working
> directory specified so the NMSTestSupport functions can't load the test
> config file, but at it gets to the point where its actually running the tests.
> Anyone know how to get the nunit-console execution to run in the right
> working directory?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.