diff options
author | wisberg <wisberg> | 2002-12-16 18:51:06 +0000 |
---|---|---|
committer | wisberg <wisberg> | 2002-12-16 18:51:06 +0000 |
commit | 144143c2970a1e874d74cdbd0f8c622d4282a3c3 (patch) | |
tree | b12383d3d9e76c7e1f25f7fbec83051ef17f81fb /tests/product/product-test.xml | |
parent | fafae443719b26159ab2d7dac1c9b46b5e00b671 (diff) | |
download | aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.tar.gz aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.zip |
initial version
Diffstat (limited to 'tests/product/product-test.xml')
-rw-r--r-- | tests/product/product-test.xml | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/tests/product/product-test.xml b/tests/product/product-test.xml new file mode 100644 index 000000000..c5f1146d3 --- /dev/null +++ b/tests/product/product-test.xml @@ -0,0 +1,293 @@ +<!-- -*- Mode: SGML; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- --> +<!-- --> +<!-- This file is part of the compiler and core tools for the AspectJ(tm) --> +<!-- programming language; see http://aspectj.org --> +<!-- --> +<!-- The contents of this file are subject to the Mozilla Public License --> +<!-- Version 1.1 (the "License"); you may not use this file except in --> +<!-- compliance with the License. You may obtain a copy of the License at --> +<!-- either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/. --> +<!-- --> +<!-- Software distributed under the License is distributed on an "AS IS" basis, --> +<!-- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License --> +<!-- for the specific language governing rights and limitations under the --> +<!-- License. --> +<!-- --> +<!-- The Original Code is AspectJ. --> +<!-- --> +<!-- The Initial Developer of the Original Code is Xerox Corporation. Portions --> +<!-- created by Xerox Corporation are Copyright (C) 1999, 2000 Xerox Corporation. --> +<!-- All Rights Reserved. --> + +<!-- ============================================================================== --> +<!-- To do a build, invoke build/bin/ant.[sh|bat] after defining JDKDIR. --> +<!-- To customize properties, edit local.properties.examples as local.properties. --> +<!-- ============================================================================== --> +<!-- todo: non-distribution license?? --> + +<!-- This dtd only defines aspectj_initProduct, unlike ../../build.dtd --> +<!DOCTYPE build SYSTEM "build.dtd"> + +<!-- This only runs from ../../test-product.xml b/c it uses comparefiles w/o defining it --> +<project name="product-test" default="test" basedir="."> + + &aspectj_initProduct; + + <!-- ========================================================================== --> + <!-- Init --> + <!-- ========================================================================== --> + <target name="init" depends="init.product,productTest.expect.dir" + description="init values - launch from install dir or set product.dir variable"> + <echo message="init product-test.xml"/> + <property name="productTest.classes.dir" + location="${productTest.output.dir}/classes"/> + <property name="script.expect.dir" + location="${productTest.expect.dir}/bat"/> + <!-- use .bat scripts if available, shell scripts otherwise --> + <property name="scriptExtension" value=""/> + <available file="${product.bin.dir}/ajc.bat" + property="scriptExtension" + value=".bat" /> + </target> + + <!-- ========================================================================== --> + <!-- Clean everything in created dirs --> + <!-- ========================================================================== --> + + <target name="clean" depends="init" + description="delete test working dirs (does not clean results)"> + <mkdir dir="${productTest.output.dir}"/> + <delete dir="${productTest.output.dir}"/> + <mkdir dir="${productTest.output.dir}"/> + </target> + + <!-- ========================================================================== --> + <!-- Run product tests --> + <!-- ========================================================================== --> + <target name="test" + depends="test.examples.buildscript,test.script.telecom,test.tools.sources" + description="run available tests"/> + + <target name="test.script.telecom" + depends="init,productTest.dir,product.dir, + productTest.expect.bat.dir,productTest.output.dir" + description="ajc/ajdoc/java/ajdb telecom example using bat scripts"> + <!-- antcall target="clean" / --> + + <!-- todo: execon not working - will fail outside windows --> + <echo message="### file product-test.xml target test.script.telecom"/> + <!-- ajc --> + <property name="ajc.out" location="${productTest.output.dir}/telecom.ajc.txt"/> + <property name="expect.ajc.out" location="${script.expect.dir}/telecom.ajc.txt"/> + <exec dir="${product.examples.dir}" + executable="${product.bin.dir}/ajc${scriptExtension}" + output="${ajc.out}"> + <arg value="-d"/> + <arg value="${productTest.classes.dir}"/> + <arg value="-argfile"/> + <arg value="telecom/billing.lst"/> + <arg value="-classpath"/> + <arg value="${product.rt.jar}"/> + </exec> + <!-- todo this is always failing... --> + <comparefiles lhsFile="${ajc.out}" + rhsFile="${expect.ajc.out}"/> + + <!-- ajdoc --> + <property name="expect.ajdoc.out" location="${script.expect.dir}/telecom.ajdoc.txt"/> + <property name="ajdoc.out" location="${productTest.output.dir}/telecom.ajdoc.txt"/> + <exec dir="${product.examples.dir}" + executable="${product.bin.dir}/ajdoc${scriptExtension}" + output="${ajdoc.out}"> + <arg value="-d"/> + <arg value="${productTest.classes.dir}"/> <!-- todo dump html in classes dir for now --> + <arg value="-argfile"/> + <arg value="telecom/billing.lst"/> + <arg value="-classpath"/> + <arg value="${product.rt.jar}"/> + <arg value="telecom"/> <!-- todo (reconsider) had to add packagename --> + </exec> + <comparefiles lhsFile="${ajdoc.out}" + rhsFile="${expect.ajdoc.out}"/> + + <!-- java --> + <property name="java.out" location="${productTest.output.dir}/telecom.java.txt"/> + <property name="expect.java.out" location="${script.expect.dir}/telecom.java.txt"/> + <java classname="telecom.BillingSimulation" + output="${java.out}"> + <classpath> + <pathelement location="${productTest.classes.dir}"/> + <pathelement location="${product.rt.jar}"/> + </classpath> + </java> + <comparefiles lhsFile="${java.out}" + rhsFile="${expect.java.out}"/> + + <!-- ajdb --> + <echo file="${product.examples.dir}/ajdb.in">exit + </echo> + <property name="ajdb.out" location="${productTest.output.dir}/telecom.ajdb.txt"/> + <property name="expect.ajdb.out" location="${script.expect.dir}/telecom.ajdb.txt"/> + <exec dir="${product.examples.dir}" + executable="${product.bin.dir}/ajdb${scriptExtension}" + output="${ajdb.out}"> + <arg value="-classpath"/> + <arg value="${product.rt.jar}${PS}${productTest.classes.dir}"/> + <arg value="<"/> + <arg value="${product.examples.dir}/ajdb.in"/> + </exec> + <comparefiles lhsFile="${ajdb.out}" + rhsFile="${expect.ajdb.out}"/> + </target> + + <!-- todo: also depends on jdk.tools.jar --> + <!-- todo: ignore as duplicating examples/build.xml --> + <target name="test.examples.antscript" + depends="init,productTest.dir,product.dir, + product.taskdefs.jar,product.rt.jar, + product.tools.jar" + description="compile/doc/run introduction example using ant taskdefs by delegation to ant-example.xml"> + <echo message="### file product-test.xml target test.examples.antscript"/> + <ant antfile="${productTest.dir}/ant-example.xml" + dir="${product.examples.dir}" + output="${productTest.output.dir}/ant-example.ant.txt"> + <property name="PS" + value="${path.separator}"/> + <property name="product.dir" + value="${product.dir}"/> + <property name="jdk.tools.jar" + location="${jdk.tools.jar}"/> + <property name="jdk.dir" + location="${jdk.dir}"/> + </ant> + </target> + + <target name="test.examples.buildscript" + depends="init,product.dir, + product.taskdefs.jar,product.rt.jar, + product.tools.jar" + description="compile/doc/run examples using build.xml script distributed with examples"> + <echo message="### file product-test.xml target test.examples.buildscript"/> + <copy file="${product.taskdefs.jar}" + todir="${product.lib.dir}" /> + + <!-- XXX if docs come after ajc, then _always_ get OutOfMemoryError... --> + <antcall target="antcall.test.examples.buildscript"> + <param name="example.target" value="docs" /> + </antcall> + + <antcall target="antcall.test.examples.buildscript.norun"> + <param name="example.target" value="spacewar" /> + </antcall> + + <antcall target="antcall.test.examples.buildscript"> + <param name="example.target" value="nonGui" /> + </antcall> + + <!-- OutOfMemory if including all + <antcall target="antcall.test.examples.buildscript.norun"> + <param name="example.target" value="all" /> + </antcall> + --> + </target> + + <target name="antcall.test.examples.buildscript.norun" + depends="init,product.dir, + product.taskdefs.jar,product.rt.jar, + product.tools.jar" + description="invoke ant {example.target} for test.examples.buildscript (with norun)"> + <echo message="### ${example.target} (norun)"/> + <mkdir dir="${productTest.output.dir}" /> + <ant antfile="${product.examples.dir}/build.xml" + target="${example.target}" + dir="${product.examples.dir}" + output="${productTest.output.dir}/example-build.${example.target}.txt" > + <property name="JAVA_HOME" + location="${jdk.dir}"/> + <property name="norun" + location="skipRunning"/> + </ant> + </target> + + <target name="antcall.test.examples.buildscript" + depends="init,product.dir, + product.taskdefs.jar,product.rt.jar, + product.tools.jar" + description="invoke ant {example.target} for test.examples.buildscript (without norun)"> + <echo message="### ${example.target} (run)"/> + <mkdir dir="${productTest.output.dir}" /> + <ant antfile="${product.examples.dir}/build.xml" + target="${example.target}" + dir="${product.examples.dir}" + output="${productTest.output.dir}/example-build.${example.target}.txt" > + <property name="JAVA_HOME" + location="${jdk.dir}"/> + </ant> + </target> + + + <!-- see also more recent devenv/dev/bin/aj/testToolsSrc.sh --> + <target name="test.tools.sources" + depends="init,product.tools.jar,product.src.dir" + description="test source dist using ajc, ajdoc (todo remove - see ant-example)"> + + <property name="tools.source.out" + location="${productTest.output.dir}/source-tools"/> + <property name="test.source.classes.dir" + location="${productTest.output.dir}/source-tools"/> + <property name="source-tools.jar" + location="${productTest.output.dir}/source-tools.jar"/> + + <mkdir dir="${test.source.classes.dir}"/> + <delete dir="${test.source.classes.dir}"/> + <mkdir dir="${test.source.classes.dir}"/> + + <!-- todo validate product builds by comparison or invocation --> + <antcall target="build.source.call"> + <param name="target.name" value="runtime" /> + </antcall> + <antcall target="build.source.call"> + <param name="target.name" value="compiler" /> + </antcall> + <antcall target="build.source.call"> + <param name="target.name" value="ajde" /> + </antcall> + <antcall target="build.source.call"> + <param name="target.name" value="ajbrowser" /> + </antcall> + <antcall target="build.source.call"> + <param name="target.name" value="ajdoc" /> + </antcall> + + <echo message="" file="${tools.source.out}.empty"/> + <!-- comparefiles lhsFile="${tools.source.out}" + rhsFile="${tools.source.out}.empty" / --> + + <jar jarfile="${source-tools.jar}" + basedir="${test.source.classes.dir}"/> + <comparefiles lhsFile="${product.tools.jar}" + rhsFile="${source-tools.jar}" /> + + <delete dir="${test.source.classes.dir}"/> + </target> + + <target name="build.source.call" > + <echo message="# building (source) using ajc${scriptExtension} @${product.src.dir}/${target.name}.lst"/> + <mkdir dir="${test.source.classes.dir}/${target.name}"/> + <exec dir="${product.src.dir}" + executable="${product.bin.dir}/ajc${scriptExtension}" + output="${tools.source.out}.${target.name}.txt"> + <arg value="-d"/> + <arg value="${test.source.classes.dir}/${target.name}"/> + <arg value="-classpath"/> + <arg value="${product.rt.jar}${PS}${jdk.tools.jar}"/> <!-- 1.3 for ajdoc --> + <arg value="-argfile"/> + <arg value="${target.name}.lst"/> + </exec> + <echo message="# START building (source) ${target.name} output"/> + <echo message="" file="${tools.source.out}.${target.name}.txt"/> + <echo message="# END building (source) ${target.name} output"/> + </target> + +</project> + |