Author: carnold
Date: Mon Feb 19 13:32:20 2007
New Revision: 509338
URL: http://svn.apache.org/viewvc?view=rev&rev=509338
Log:
LOG4NET-114: Support unit tests on .NET 1.1, 2.0, Mono 2.0
Modified:
logging/log4net/trunk/tests/ (props changed)
logging/log4net/trunk/tests/lib/ (props changed)
logging/log4net/trunk/tests/lib/prerequisites.txt
logging/log4net/trunk/tests/nant.build
Propchange: logging/log4net/trunk/tests/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Feb 19 13:32:20 2007
@@ -1,3 +1,4 @@
bin
+doc
obj
*.csproj.user
Propchange: logging/log4net/trunk/tests/lib/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Feb 19 13:32:20 2007
@@ -0,0 +1,2 @@
+net
+mono
Modified: logging/log4net/trunk/tests/lib/prerequisites.txt
URL:
http://svn.apache.org/viewvc/logging/log4net/trunk/tests/lib/prerequisites.txt?view=diff&rev=509338&r1=509337&r2=509338
==============================================================================
--- logging/log4net/trunk/tests/lib/prerequisites.txt (original)
+++ logging/log4net/trunk/tests/lib/prerequisites.txt Mon Feb 19 13:32:20 2007
@@ -5,8 +5,7 @@
The nunit.framework.dll assembly version 2.2.7 is required to build
the log4net tests.
-The NAnt 0.85 nightly builds since 2006/03/04 have included the
-2.2.7 version of the nunit.framework.dll.
+NAnt 0.85 includes the 2.2.7 version of the nunit.framework.dll.
The nunit.framework.dll is available as different builds for each
version of the .net runtime. To build multiple versions of the
@@ -18,6 +17,7 @@
Microsoft .NET Framework 1.0
Microsoft .NET Framework 1.1
Microsoft .NET Framework 2.0
+Mono Framework 2.0
Under the tests/lib directory you must create the following directory
structure containing the nunit.framework.dll assembly built for the
@@ -29,6 +29,9 @@
nunit.framework.dll
1.1\
nunit.framework.dll
+ 2.0\
+ nunit.framework.dll
+ mono\
2.0\
nunit.framework.dll
Modified: logging/log4net/trunk/tests/nant.build
URL:
http://svn.apache.org/viewvc/logging/log4net/trunk/tests/nant.build?view=diff&rev=509338&r1=509337&r2=509338
==============================================================================
--- logging/log4net/trunk/tests/nant.build (original)
+++ logging/log4net/trunk/tests/nant.build Mon Feb 19 13:32:20 2007
@@ -15,7 +15,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<project name="log4net-samples" default="compile-all"
xmlnds="http://tempuri.org/nant-vs.xsd">
+<project name="log4net-samples" default="runtests"
xmlnds="http://tempuri.org/nant-vs.xsd">
<property name="log4net.basedir" value="../" readonly="false" />
<property name="project.build.config" value="debug" readonly="false" />
<property name="project.build.package" value="false" readonly="false" />
@@ -64,6 +64,19 @@
<echo message="The .NET Framework 1.1 is not available. Build
skipped." />
</if>
</if>
+
+ <if test="${framework::exists('mono-2.0')}">
+ <call target="compile-mono-2.0" />
+ </if>
+ <if test="${not framework::exists('mono-2.0')}">
+ <if test="${property::exists('project.build.package') and
project.build.package}">
+ <fail message="The Mono Framework 2.0 is not available." />
+ </if>
+ <if test="${not(property::exists('project.build.package') and
project.build.package)}">
+ <echo message="The Mono Framework 2.0 is not available. Build
skipped." />
+ </if>
+ </if>
+
</target>
<!-- Target for compiling the tests on net-1.0 -->
@@ -233,13 +246,101 @@
</csc>
</target>
+ <target name="compile-mono-2.0" description="Builds log4net tests Mono
Framework 2.0 version" depends="set-mono-2.0-runtime-configuration,
check-log4net-basedir, clean-current-bin-dir, check-log4net-assembly">
+ <!-- copy log4net build output -->
+ <copy todir="${current.bin.dir}">
+ <fileset basedir="${log4net.basedir}/${current.bin.dir}">
+ <include name="*.*" />
+ </fileset>
+ </copy>
+ <!-- copy referenced libraries to build output -->
+ <copy todir="${current.bin.dir}">
+ <fileset basedir="${log4net.basedir}/tests/lib">
+ <include name="/*.dll" />
+ </fileset>
+ </copy>
+ <copy todir="${current.bin.dir}">
+ <fileset
basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
+ <include name="*.dll" />
+ </fileset>
+ </copy>
+ <copy todir="${current.bin.dir}">
+ <fileset
basedir="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
+ <include name="*.dll" />
+ </fileset>
+ </copy>
+ <copy todir="${current.bin.dir}">
+ <fileset
basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}">
+ <include name="*.dll" />
+ </fileset>
+ </copy>
+ <copy todir="${current.bin.dir}">
+ <fileset
basedir="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}">
+ <include name="*.dll" />
+ </fileset>
+ </copy>
+ <csc noconfig="true" warnaserror="false" target="library"
debug="${current.build.debug}" define="${current.build.defines.csc}"
output="${current.bin.dir}/log4net.Tests.dll">
+ <sources basedir="${log4net.basedir}/tests/src">
+ <include name="**/*.cs" />
+ <include name="../../src/AssemblyVersionInfo.cs" />
+ </sources>
+ <references defaultexcludes="true">
+ <!-- include name="mscorlib.dll" / -->
+ <include name="System.dll" />
+ <include name="System.Data.dll" />
+ <include name="System.Web.dll" />
+ <include name="System.Xml.dll" />
+ <include name="System.Runtime.Remoting.dll" />
+ <include name="${current.bin.dir}/log4net.dll"
frompath="false" />
+ <!-- allow for third party assemblies to be referenced by just
storing them in the lib/<framework>/<framework version>/<build configuration>
directory -->
+ <include
name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll"
frompath="false" />
+ <include
name="lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll"
frompath="false" />
+ <include
name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/${current.build.config}/*.dll"
frompath="false" />
+ <include
name="${log4net.basedir}/lib/${framework::get-family(framework::get-target-framework())}/${framework::get-version(framework::get-target-framework())}/*.dll"
frompath="false" />
+ </references>
+ </csc>
+ </target>
+
+
<!-- Currently we cannot run the tests in the environment of the target
framework only in the host framework -->
<target name="runtests" description="Runs log4net tests">
- <call target="runtests-net-1.0" />
+ <if test="${framework::exists('net-1.0')}">
+ <call target="runtests-net-1.0" />
+ </if>
+ <if test="${framework::exists('net-1.1')}">
+ <call target="runtests-net-1.1" />
+ </if>
+ <if test="${framework::exists('net-2.0')}">
+ <call target="runtests-net-2.0" />
+ </if>
+ <if test="${framework::exists('mono-2.0')}">
+ <call target="runtests-mono-2.0" />
+ </if>
</target>
<target name="runtests-net-1.0" description="Runs log4net tests on .NET
Framework 1.0 version" depends="compile-net-1.0">
+ <nunit2>
+ <formatter type="Plain" />
+ <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />
+ </nunit2>
+ </target>
+
+ <target name="runtests-net-1.1" description="Runs log4net tests on .NET
Framework 1.1 version" depends="compile-net-1.1">
+ <nunit2>
+ <formatter type="Plain" />
+ <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />
+ </nunit2>
+ </target>
+
+ <target name="runtests-net-2.0" description="Runs log4net tests on .NET
Framework 2.0 version" depends="compile-net-2.0">
+ <nunit2>
+ <formatter type="Plain" />
+ <test assemblyname="${current.bin.dir}/log4net.Tests.dll" />
+ </nunit2>
+ </target>
+
+ <target name="runtests-mono-2.0" description="Runs log4net tests on Mono
Framework 2.0 version" depends="compile-mono-2.0">
<nunit2>
<formatter type="Plain" />
<test assemblyname="${current.bin.dir}/log4net.Tests.dll" />