[hg] main-silver: Created first few sanity tests of Java debugge...

  • From: Jiri Kovalsky < >
  • To:
  • Subject: [hg] main-silver: Created first few sanity tests of Java debugge...
  • Date: Thu, 08 Nov 2012 15:17:42 -0800

changeset a388f6f3ec37 in main-silver ((none))
details: http://hg.netbeans.org/main-silver/rev/a388f6f3ec37
description:
        Created first few sanity tests of Java debugger on an Ant project.

diffstat:

 debugger.jpda.ui/nbproject/project.properties                                
                               |     3 +-
 debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/build.xml       
                               |    74 +
 debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/manifest.mf     
                               |     3 +
 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/build-impl.xml
                       |  1411 ++++++++++
 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/genfiles.properties
                  |     8 +
 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/project.properties
                   |    84 +
 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/project.xml
                          |    15 +
 
debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/tests/FixAndContinue.java
                     |    33 +-
 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/DetectDeadlockTest.java
           |    92 +
 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/ThreadSuspendingTest.java
         |    77 +
 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/VariablesTest.java
                |    51 +
 
debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/examples/advanced/MemoryView.java
             |   307 +-
 
debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/examples/advanced/MemoryViewLocale.properties
 |    30 +-
 
debugger.jpda.ui/test/qa-functional/src/org/netbeans/modules/debugger/jpda/ui/AntSanityTest.java
            |   173 +
 
jellytools.java/test/qa-functional/src/org/netbeans/jellytools/JellytoolsJavaSuite.java
                     |    77 +-
 15 files changed, 2255 insertions(+), 183 deletions(-)

diffs (2663 lines):

diff --git a/debugger.jpda.ui/nbproject/project.properties 
b/debugger.jpda.ui/nbproject/project.properties
--- a/debugger.jpda.ui/nbproject/project.properties
+++ b/debugger.jpda.ui/nbproject/project.properties
@@ -48,7 +48,6 @@
 
 # timeout 1 hour
 test.timeout=3600000
-test.config.stable.includes=**/ui/ts/*TestSuite.class
-test.config.stable.excludes=**/ui/ts/Breakpoints_ExceptionTestSuite.class, 
**/ui/ts/Breakpoints_LineTestSuite.class, 
**/ui/ts/Breakpoints_ThreadTestSuite.class, 
**/ui/ts/DebuggingBreakpointsActionsTestSuite.class, 
**/ui/ts/StepsTestSuite.class, **/ui/ts/ViewsTestSuite.class, **/*Test.class
+test.config.stable.includes=**/ui/AntSanityTest.class
 
 
test.coverage.qa-functional.coveredmodules=ide*/modules/org-netbeans-spi-debugger-ui.jar,
 java*/modules/org-netbeans-modules-debugger-jpda.jar, 
java*/modules/org-netbeans-modules-debugger-jpda-ui.jar
\ No newline at end of file
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/build.xml 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/build.xml
new file mode 100644
--- /dev/null
+++ b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/build.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<!-- By default, only the Clean and Build commands use this build script. -->
+<!-- Commands such as Run, Debug, and Test only use this build script if -->
+<!-- the Compile on Save feature is turned off for the project. -->
+<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
+<!-- in the project's Project Properties dialog box.-->
+<project name="debugTestProjectAnt" default="default" basedir=".">
+    <description>Builds, tests, and runs the project 
debugTestProjectAnt.</description>
+    <import file="nbproject/build-impl.xml"/>
+    <!--
+
+    There exist several targets which are by default empty and which can be 
+    used for execution of your tasks. These targets are usually executed 
+    before and after some main targets. They are: 
+
+      -pre-init:                 called before initialization of project 
properties
+      -post-init:                called after initialization of project 
properties
+      -pre-compile:              called before javac compilation
+      -post-compile:             called after javac compilation
+      -pre-compile-single:       called before javac compilation of single 
file
+      -post-compile-single:      called after javac compilation of single 
file
+      -pre-compile-test:         called before javac compilation of JUnit 
tests
+      -post-compile-test:        called after javac compilation of JUnit 
tests
+      -pre-compile-test-single:  called before javac compilation of single 
JUnit test
+      -post-compile-test-single: called after javac compilation of single 
JUunit test
+      -pre-jar:                  called before JAR building
+      -post-jar:                 called after JAR building
+      -post-clean:               called after cleaning build products
+
+    (Targets beginning with '-' are not intended to be called on their own.)
+
+    Example of inserting an obfuscator after compilation could look like 
this:
+
+        <target name="-post-compile">
+            <obfuscate>
+                <fileset dir="${build.classes.dir}"/>
+            </obfuscate>
+        </target>
+
+    For list of available properties check the imported 
+    nbproject/build-impl.xml file. 
+
+
+    Another way to customize the build is by overriding existing main 
targets.
+    The targets of interest are: 
+
+      -init-macrodef-javac:     defines macro for javac compilation
+      -init-macrodef-junit:     defines macro for junit execution
+      -init-macrodef-debug:     defines macro for class debugging
+      -init-macrodef-java:      defines macro for class execution
+      -do-jar-with-manifest:    JAR building (if you are using a manifest)
+      -do-jar-without-manifest: JAR building (if you are not using a 
manifest)
+      run:                      execution of project 
+      -javadoc-build:           Javadoc generation
+      test-report:              JUnit report generation
+
+    An example of overriding the target for project execution could look 
like this:
+
+        <target name="run" depends="debugTestProjectAnt-impl.jar">
+            <exec dir="bin" executable="launcher.exe">
+                <arg file="${dist.jar}"/>
+            </exec>
+        </target>
+
+    Notice that the overridden target depends on the jar target and not only 
on 
+    the compile target as the regular run target does. Again, for a list of 
available 
+    properties which you can use, check the target you are overriding in the
+    nbproject/build-impl.xml file. 
+
+    -->
+</project>
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/manifest.mf 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/manifest.mf
new file mode 100644
--- /dev/null
+++ b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/manifest.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/build-impl.xml
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/build-impl.xml
new file mode 100644
--- /dev/null
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/build-impl.xml
@@ -0,0 +1,1411 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+
+For the purpose of easier reading the script
+is divided into following sections:
+
+  - initialization
+  - compilation
+  - jar
+  - execution
+  - debugging
+  - javadoc
+  - test compilation
+  - test execution
+  - test debugging
+  - applet
+  - cleanup
+
+        -->
+<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" ;
xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" ;
xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." ;
default="default" name="debugTestProjectAnt-impl">
+    <fail message="Please build using Ant 1.8.0 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.8.0"/>
+            </not>
+        </condition>
+    </fail>
+    <target depends="test,jar,javadoc" description="Build and test whole 
project." name="default"/>
+    <!-- 
+                ======================
+                INITIALIZATION SECTION 
+                ======================
+            -->
+    <target name="-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init" name="-init-private">
+        <property file="nbproject/private/config.properties"/>
+        <property file="nbproject/private/configs/${config}.properties"/>
+        <property file="nbproject/private/private.properties"/>
+    </target>
+    <target depends="-pre-init,-init-private" name="-init-user">
+        <property file="${user.properties.file}"/>
+        <!-- The two properties below are usually overridden -->
+        <!-- by the active platform. Just a fallback. -->
+        <property name="default.javac.source" value="1.4"/>
+        <property name="default.javac.target" value="1.4"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user" 
name="-init-project">
+        <property file="nbproject/configs/${config}.properties"/>
+        <property file="nbproject/project.properties"/>
+    </target>
+    <target 
depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property"
 name="-do-init">
+        <available file="${manifest.file}" property="manifest.available"/>
+        <condition property="splashscreen.available">
+            <and>
+                <not>
+                    <equals arg1="${application.splash}" arg2="" 
trim="true"/>
+                </not>
+                <available file="${application.splash}"/>
+            </and>
+        </condition>
+        <condition property="main.class.available">
+            <and>
+                <isset property="main.class"/>
+                <not>
+                    <equals arg1="${main.class}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <condition property="manifest.available+main.class">
+            <and>
+                <isset property="manifest.available"/>
+                <isset property="main.class.available"/>
+            </and>
+        </condition>
+        <condition property="do.archive">
+            <not>
+                <istrue value="${jar.archive.disabled}"/>
+            </not>
+        </condition>
+        <condition property="do.mkdist">
+            <and>
+                <isset property="do.archive"/>
+                <isset property="libs.CopyLibs.classpath"/>
+                <not>
+                    <istrue value="${mkdist.disabled}"/>
+                </not>
+            </and>
+        </condition>
+        <condition property="manifest.available+main.class+mkdist.available">
+            <and>
+                <istrue value="${manifest.available+main.class}"/>
+                <isset property="do.mkdist"/>
+            </and>
+        </condition>
+        <condition property="do.archive+manifest.available">
+            <and>
+                <isset property="manifest.available"/>
+                <istrue value="${do.archive}"/>
+            </and>
+        </condition>
+        <condition property="do.archive+main.class.available">
+            <and>
+                <isset property="main.class.available"/>
+                <istrue value="${do.archive}"/>
+            </and>
+        </condition>
+        <condition property="do.archive+splashscreen.available">
+            <and>
+                <isset property="splashscreen.available"/>
+                <istrue value="${do.archive}"/>
+            </and>
+        </condition>
+        <condition property="do.archive+manifest.available+main.class">
+            <and>
+                <istrue value="${manifest.available+main.class}"/>
+                <istrue value="${do.archive}"/>
+            </and>
+        </condition>
+        <condition property="manifest.available-mkdist.available">
+            <or>
+                <istrue value="${manifest.available}"/>
+                <isset property="do.mkdist"/>
+            </or>
+        </condition>
+        <condition property="manifest.available+main.class-mkdist.available">
+            <or>
+                <istrue value="${manifest.available+main.class}"/>
+                <isset property="do.mkdist"/>
+            </or>
+        </condition>
+        <condition property="have.tests">
+            <or>
+                <available file="${test.src.dir}"/>
+            </or>
+        </condition>
+        <condition property="have.sources">
+            <or>
+                <available file="${src.dir}"/>
+            </or>
+        </condition>
+        <condition property="netbeans.home+have.tests">
+            <and>
+                <isset property="netbeans.home"/>
+                <isset property="have.tests"/>
+            </and>
+        </condition>
+        <condition property="no.javadoc.preview">
+            <and>
+                <isset property="javadoc.preview"/>
+                <isfalse value="${javadoc.preview}"/>
+            </and>
+        </condition>
+        <property name="run.jvmargs" value=""/>
+        <property name="run.jvmargs.ide" value=""/>
+        <property name="javac.compilerargs" value=""/>
+        <property name="work.dir" value="${basedir}"/>
+        <condition property="no.deps">
+            <and>
+                <istrue value="${no.dependencies}"/>
+            </and>
+        </condition>
+        <property name="javac.debug" value="true"/>
+        <property name="javadoc.preview" value="true"/>
+        <property name="application.args" value=""/>
+        <property name="source.encoding" value="${file.encoding}"/>
+        <property name="runtime.encoding" value="${source.encoding}"/>
+        <condition property="javadoc.encoding.used" 
value="${javadoc.encoding}">
+            <and>
+                <isset property="javadoc.encoding"/>
+                <not>
+                    <equals arg1="${javadoc.encoding}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <property name="javadoc.encoding.used" value="${source.encoding}"/>
+        <property name="includes" value="**"/>
+        <property name="excludes" value=""/>
+        <property name="do.depend" value="false"/>
+        <condition property="do.depend.true">
+            <istrue value="${do.depend}"/>
+        </condition>
+        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+        <condition else="" property="endorsed.classpath.cmd.line.arg" 
value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+            <length length="0" string="${endorsed.classpath}" 
when="greater"/>
+        </condition>
+        <condition else="false" property="jdkBug6558476">
+            <and>
+                <matches pattern="1\.[56]" 
string="${java.specification.version}"/>
+                <not>
+                    <os family="unix"/>
+                </not>
+            </and>
+        </condition>
+        <property name="javac.fork" value="${jdkBug6558476}"/>
+        <property name="jar.index" value="false"/>
+        <property name="jar.index.metainf" value="${jar.index}"/>
+        <property name="copylibs.rebase" value="true"/>
+        <available file="${meta.inf.dir}/persistence.xml" 
property="has.persistence.xml"/>
+        <condition property="junit.available">
+            <or>
+                <available classname="org.junit.Test" 
classpath="${run.test.classpath}"/>
+                <available classname="junit.framework.Test" 
classpath="${run.test.classpath}"/>
+            </or>
+        </condition>
+        <condition property="testng.available">
+            <available classname="org.testng.annotations.Test" 
classpath="${run.test.classpath}"/>
+        </condition>
+        <condition property="junit+testng.available">
+            <and>
+                <istrue value="${junit.available}"/>
+                <istrue value="${testng.available}"/>
+            </and>
+        </condition>
+        <condition else="testng" property="testng.mode" value="mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <condition else="" property="testng.debug.mode" value="-mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+    </target>
+    <target name="-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target 
depends="-pre-init,-init-private,-init-user,-init-project,-do-init" 
name="-init-check">
+        <fail unless="src.dir">Must set src.dir</fail>
+        <fail unless="test.src.dir">Must set test.src.dir</fail>
+        <fail unless="build.dir">Must set build.dir</fail>
+        <fail unless="dist.dir">Must set dist.dir</fail>
+        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
+        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+        <fail unless="build.test.classes.dir">Must set 
build.test.classes.dir</fail>
+        <fail unless="build.test.results.dir">Must set 
build.test.results.dir</fail>
+        <fail unless="build.classes.excludes">Must set 
build.classes.excludes</fail>
+        <fail unless="dist.jar">Must set dist.jar</fail>
+    </target>
+    <target name="-init-macrodef-property">
+        <macrodef name="property" 
uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${@{value}}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" 
name="-init-macrodef-javac-with-processors">
+        <macrodef name="javac" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}" name="classpath"/>
+            <attribute default="${javac.processorpath}" 
name="processorpath"/>
+            <attribute 
default="${build.generated.sources.dir}/ap-source-output" 
name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="sourcepath"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <mkdir dir="@{apgeneratedsrcdir}"/>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" 
destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" 
fork="${javac.fork}" includeantruntime="false" includes="@{includes}" 
source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" 
target="${javac.target}" tempdir="${java.io.tmpdir}">
+                    <src>
+                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+                            <include name="*"/>
+                        </dirset>
+                    </src>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <compilerarg value="-processorpath"/>
+                    <compilerarg path="@{processorpath}:${empty.dir}"/>
+                    <compilerarg line="${ap.processors.internal}"/>
+                    <compilerarg 
line="${annotation.processing.processor.options}"/>
+                    <compilerarg value="-s"/>
+                    <compilerarg path="@{apgeneratedsrcdir}"/>
+                    <compilerarg line="${ap.proc.none.internal}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-ap-cmdline-properties" 
name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
+        <macrodef name="javac" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}" name="classpath"/>
+            <attribute default="${javac.processorpath}" 
name="processorpath"/>
+            <attribute 
default="${build.generated.sources.dir}/ap-source-output" 
name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="sourcepath"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" 
destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" 
fork="${javac.fork}" includeantruntime="false" includes="@{includes}" 
source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" 
target="${javac.target}" tempdir="${java.io.tmpdir}">
+                    <src>
+                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+                            <include name="*"/>
+                        </dirset>
+                    </src>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target 
depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors"
 name="-init-macrodef-javac">
+        <macrodef name="depend" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}" name="classpath"/>
+            <sequential>
+                <depend cache="${build.dir}/depcache" destdir="@{destdir}" 
excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </depend>
+            </sequential>
+        </macrodef>
+        <macrodef name="force-recompile" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <sequential>
+                <fail unless="javac.includes">Must set javac.includes</fail>
+                <pathconvert pathsep="${line.separator}" 
property="javac.includes.binary">
+                    <path>
+                        <filelist dir="@{destdir}" 
files="${javac.includes}"/>
+                    </path>
+                    <globmapper from="*.java" to="*.class"/>
+                </pathconvert>
+                <tempfile deleteonexit="true" 
property="javac.includesfile.binary"/>
+                <echo file="${javac.includesfile.binary}" 
message="${javac.includes.binary}"/>
+                <delete>
+                    <files includesfile="${javac.includesfile.binary}"/>
+                </delete>
+                <delete>
+                    <fileset file="${javac.includesfile.binary}"/>
+                </delete>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-init">
+        <condition else="false" property="nb.junit.batch" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <not>
+                    <isset property="test.method"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="nb.junit.single" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <isset property="test.method"/>
+            </and>
+        </condition>
+    </target>
+    <target name="-init-test-properties">
+        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
+        <property name="test.binarytestincludes" value=""/>
+        <property name="test.binaryexcludes" value=""/>
+    </target>
+    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" 
unless="${nb.junit.batch}">
+        <macrodef name="junit" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" 
failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" 
showoutput="true" tempdir="${build.dir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" 
todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" 
name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
+        <macrodef name="junit" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" 
failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" 
showoutput="true" tempdir="${build.dir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" 
excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${build.test.classes.dir}" 
excludes="@{excludes},${excludes},${test.binaryexcludes}" 
includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, 
-init-macrodef-junit-batch" if="${junit.available}" 
name="-init-macrodef-junit"/>
+    <target if="${testng.available}" name="-init-macrodef-testng">
+        <macrodef name="testng" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <condition else="" property="testng.methods.arg" 
value="@{testincludes}.@{testmethods}">
+                    <isset property="test.method"/>
+                </condition>
+                <union id="test.set">
+                    <fileset dir="${test.src.dir}" 
excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
+                </union>
+                <taskdef classname="org.testng.TestNGAntTask" 
classpath="${run.test.classpath}" name="testng"/>
+                <testng classfilesetref="test.set" 
failureProperty="tests.failed" methods="${testng.methods.arg}" 
mode="${testng.mode}" outputdir="${build.test.results.dir}" 
suitename="debugTestProjectAnt" testname="TestNG tests" 
workingDir="${work.dir}">
+                    <xmlfileset dir="${build.test.classes.dir}" 
includes="@{testincludes}"/>
+                    <propertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </propertyset>
+                    <customize/>
+                </testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-test-impl">
+        <macrodef name="test-impl" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <echo>No tests executed.</echo>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit" if="${junit.available}" 
name="-init-macrodef-junit-impl">
+        <macrodef name="test-impl" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:junit excludes="@{excludes}" 
includes="@{includes}" testincludes="@{testincludes}" 
testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng" if="${testng.available}" 
name="-init-macrodef-testng-impl">
+        <macrodef name="test-impl" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:testng excludes="@{excludes}" 
includes="@{includes}" testincludes="@{testincludes}" 
testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target 
depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl"
 name="-init-macrodef-test">
+        <macrodef name="test" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <sequential>
+                <j2seproject3:test-impl excludes="@{excludes}" 
includes="@{includes}" testincludes="@{testincludes}" 
testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${run.jvmargs}"/>
+                        <jvmarg line="${run.jvmargs.ide}"/>
+                    </customize>
+                </j2seproject3:test-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-debug" 
unless="${nb.junit.batch}">
+        <macrodef name="junit-debug" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" 
failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" 
showoutput="true" tempdir="${build.dir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" 
todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg 
value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" 
name="-init-macrodef-junit-debug-batch">
+        <macrodef name="junit-debug" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="junit.forkmode" value="perTest"/>
+                <junit dir="${work.dir}" errorproperty="tests.failed" 
failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" 
showoutput="true" tempdir="${build.dir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" 
excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${build.test.classes.dir}" 
excludes="@{excludes},${excludes},${test.binaryexcludes}" 
includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg 
value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target 
depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" 
if="${junit.available}" name="-init-macrodef-junit-debug-impl">
+        <macrodef name="test-debug-impl" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <j2seproject3:junit-debug excludes="@{excludes}" 
includes="@{includes}" testincludes="@{testincludes}" 
testmethods="@{testmethods}">
+                    <customize/>
+                </j2seproject3:junit-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${testng.available}" name="-init-macrodef-testng-debug">
+        <macrodef name="testng-debug" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element name="customize2" optional="true"/>
+            <sequential>
+                <condition else="-testclass @{testClass}" 
property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
+                    <isset property="test.method"/>
+                </condition>
+                <condition else="-suitename debugTestProjectAnt -testname 
@{testClass} ${test.class.or.method}" property="testng.cmd.args" 
value="@{testClass}">
+                    <matches pattern=".*\.xml" string="@{testClass}"/>
+                </condition>
+                <delete dir="${build.test.results.dir}" quiet="true"/>
+                <mkdir dir="${build.test.results.dir}"/>
+                <j2seproject3:debug classname="org.testng.TestNG" 
classpath="${debug.test.classpath}">
+                    <customize>
+                        <customize2/>
+                        <jvmarg value="-ea"/>
+                        <arg line="${testng.debug.mode}"/>
+                        <arg line="-d ${build.test.results.dir}"/>
+                        <arg line="-listener 
org.testng.reporters.VerboseReporter"/>
+                        <arg line="${testng.cmd.args}"/>
+                    </customize>
+                </j2seproject3:debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug" if="${testng.available}" 
name="-init-macrodef-testng-debug-impl">
+        <macrodef name="testng-debug-impl" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element implicit="true" name="customize2" optional="true"/>
+            <sequential>
+                <j2seproject3:testng-debug testClass="@{testClass}" 
testMethod="@{testMethod}">
+                    <customize2/>
+                </j2seproject3:testng-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug-impl" 
if="${junit.available}" name="-init-macrodef-test-debug-junit">
+        <macrodef name="test-debug" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <j2seproject3:test-debug-impl excludes="@{excludes}" 
includes="@{includes}" testincludes="@{testincludes}" 
testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${run.jvmargs}"/>
+                        <jvmarg line="${run.jvmargs.ide}"/>
+                    </customize>
+                </j2seproject3:test-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug-impl" 
if="${testng.available}" name="-init-macrodef-test-debug-testng">
+        <macrodef name="test-debug" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <j2seproject3:testng-debug-impl testClass="@{testClass}" 
testMethod="@{testMethod}">
+                    <customize2>
+                        <syspropertyset>
+                            <propertyref prefix="test-sys-prop."/>
+                            <mapper from="test-sys-prop.*" to="*" 
type="glob"/>
+                        </syspropertyset>
+                    </customize2>
+                </j2seproject3:testng-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target 
depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" 
name="-init-macrodef-test-debug"/>
+    <!--
+                pre NB7.2 profiling section; consider it deprecated
+            -->
+    <target depends="-profile-pre-init, init, -profile-post-init, 
-profile-init-macrodef-profile, -profile-init-check" 
if="profiler.info.jvmargs.agent" name="profile-init"/>
+    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" 
name="-profile-init-macrodef-profile">
+        <macrodef name="resolve">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${env.@{value}}"/>
+            </sequential>
+        </macrodef>
+        <macrodef name="profile">
+            <attribute default="${main.class}" name="classname"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property environment="env"/>
+                <resolve name="profiler.current.path" 
value="${profiler.info.pathvar}"/>
+                <java classname="@{classname}" dir="${profiler.info.dir}" 
fork="true" jvm="${profiler.info.jvm}">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
+                    <jvmarg line="${profiler.info.jvmargs}"/>
+                    <env key="${profiler.info.pathvar}" 
path="${profiler.info.agentpath}:${profiler.current.path}"/>
+                    <arg line="${application.args}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-profile-pre-init, init, -profile-post-init, 
-profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" 
name="-profile-init-check">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling 
in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent 
JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <!--
+                end of pre NB7.2 profiling section
+            -->
+    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
+        <macrodef name="nbjpdastart" 
uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute default="${main.class}" name="name"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <attribute default="" name="stopclassname"/>
+            <sequential>
+                <nbjpdastart addressproperty="jpda.address" name="@{name}" 
stopclassname="@{stopclassname}" transport="${debug-transport}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </nbjpdastart>
+            </sequential>
+        </macrodef>
+        <macrodef name="nbjpdareload" 
uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute default="${build.classes.dir}" name="dir"/>
+            <sequential>
+                <nbjpdareload>
+                    <fileset dir="@{dir}" includes="${fix.classes}">
+                        <include name="${fix.includes}*.class"/>
+                    </fileset>
+                </nbjpdareload>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-debug-args">
+        <property name="version-output" value="java version 
&quot;${ant.java.version}"/>
+        <condition property="have-jdk-older-than-1.4">
+            <or>
+                <contains string="${version-output}" substring="java version 
&quot;1.0"/>
+                <contains string="${version-output}" substring="java version 
&quot;1.1"/>
+                <contains string="${version-output}" substring="java version 
&quot;1.2"/>
+                <contains string="${version-output}" substring="java version 
&quot;1.3"/>
+            </or>
+        </condition>
+        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug 
-Xnoagent -Djava.compiler=none">
+            <istrue value="${have-jdk-older-than-1.4}"/>
+        </condition>
+        <condition else="dt_socket" property="debug-transport-by-os" 
value="dt_shmem">
+            <os family="windows"/>
+        </condition>
+        <condition else="${debug-transport-by-os}" 
property="debug-transport" value="${debug.transport}">
+            <isset property="debug.transport"/>
+        </condition>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-debug">
+        <macrodef name="debug" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" dir="${work.dir}" fork="true">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg 
value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
+                    <redirector errorencoding="${runtime.encoding}" 
inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
+                    <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-java">
+        <macrodef name="java" 
uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${run.classpath}" name="classpath"/>
+            <attribute default="jvm" name="jvm"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" dir="${work.dir}" fork="true">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
+                    <redirector errorencoding="${runtime.encoding}" 
inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
+                    <jvmarg line="${run.jvmargs}"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-copylibs">
+        <macrodef name="copylibs" 
uri="http://www.netbeans.org/ns/j2se-project/3";>
+            <attribute default="${manifest.file}" name="manifest"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.classes.dir}" 
name="build.classes.dir.resolved"/>
+                <pathconvert 
property="run.classpath.without.build.classes.dir">
+                    <path path="${run.classpath}"/>
+                    <map from="${build.classes.dir.resolved}" to=""/>
+                </pathconvert>
+                <pathconvert pathsep=" " property="jar.classpath">
+                    <path path="${run.classpath.without.build.classes.dir}"/>
+                    <chainedmapper>
+                        <flattenmapper/>
+                        <filtermapper>
+                            <replacestring from=" " to="%20"/>
+                        </filtermapper>
+                        <globmapper from="*" to="lib/*"/>
+                    </chainedmapper>
+                </pathconvert>
+                <taskdef 
classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" 
classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
+                <copylibs compress="${jar.compress}" index="${jar.index}" 
indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" 
manifest="@{manifest}" rebase="${copylibs.rebase}" 
runtimeclasspath="${run.classpath.without.build.classes.dir}">
+                    <fileset dir="${build.classes.dir}"/>
+                    <manifest>
+                        <attribute name="Class-Path" 
value="${jar.classpath}"/>
+                        <customize/>
+                    </manifest>
+                </copylibs>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-presetdef-jar">
+        <presetdef name="jar" 
uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <jar compress="${jar.compress}" index="${jar.index}" 
jarfile="${dist.jar}">
+                <j2seproject1:fileset dir="${build.classes.dir}"/>
+            </jar>
+        </presetdef>
+    </target>
+    <target name="-init-ap-cmdline-properties">
+        <property name="annotation.processing.enabled" value="true"/>
+        <property name="annotation.processing.processors.list" value=""/>
+        <property name="annotation.processing.processor.options" value=""/>
+        <property name="annotation.processing.run.all.processors" 
value="true"/>
+        <property name="javac.processorpath" value="${javac.classpath}"/>
+        <property name="javac.test.processorpath" 
value="${javac.test.classpath}"/>
+        <condition property="ap.supported.internal" value="true">
+            <not>
+                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
+            </not>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" 
name="-init-ap-cmdline-supported">
+        <condition else="" property="ap.processors.internal" 
value="-processor ${annotation.processing.processors.list}">
+            <isfalse value="${annotation.processing.run.all.processors}"/>
+        </condition>
+        <condition else="" property="ap.proc.none.internal" 
value="-proc:none">
+            <isfalse value="${annotation.processing.enabled}"/>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" 
name="-init-ap-cmdline">
+        <property name="ap.cmd.line.internal" value=""/>
+    </target>
+    <target 
depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline"
 name="init"/>
+    <!--
+                ===================
+                COMPILATION SECTION
+                ===================
+            -->
+    <target name="-deps-jar-init" unless="built-jar.properties">
+        <property location="${build.dir}/built-jar.properties" 
name="built-jar.properties"/>
+        <delete file="${built-jar.properties}" quiet="true"/>
+    </target>
+    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
+        <echo level="warn" message="Cycle detected: debugTestProjectAnt was 
already built"/>
+    </target>
+    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
+        <mkdir dir="${build.dir}"/>
+        <touch file="${built-jar.properties}" verbose="false"/>
+        <property file="${built-jar.properties}" 
prefix="already.built.jar."/>
+        <antcall target="-warn-already-built-jar"/>
+        <propertyfile file="${built-jar.properties}">
+            <entry key="${basedir}" value=""/>
+        </propertyfile>
+    </target>
+    <target 
depends="init,-check-automatic-build,-clean-after-automatic-build" 
name="-verify-automatic-build"/>
+    <target depends="init" name="-check-automatic-build">
+        <available file="${build.classes.dir}/.netbeans_automatic_build" 
property="netbeans.automatic.build"/>
+    </target>
+    <target depends="init" if="netbeans.automatic.build" 
name="-clean-after-automatic-build">
+        <antcall target="clean"/>
+    </target>
+    <target depends="init,deps-jar" name="-pre-pre-compile">
+        <mkdir dir="${build.classes.dir}"/>
+    </target>
+    <target name="-pre-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="do.depend.true" name="-compile-depend">
+        <pathconvert property="build.generated.subdirs">
+            <dirset dir="${build.generated.sources.dir}" 
erroronmissingdir="false">
+                <include name="*"/>
+            </dirset>
+        </pathconvert>
+        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, 
-copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
+        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" 
excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target if="has.persistence.xml" name="-copy-persistence-xml">
+        <mkdir dir="${build.classes.dir}/META-INF"/>
+        <copy todir="${build.classes.dir}/META-INF">
+            <fileset dir="${meta.inf.dir}" includes="persistence.xml 
orm.xml"/>
+        </copy>
+    </target>
+    <target name="-post-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target 
depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile"
 description="Compile project." name="compile"/>
+    <target name="-pre-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile" 
name="-do-compile-single">
+        <fail unless="javac.includes">Must select some files in the IDE or 
set javac.includes</fail>
+        <j2seproject3:force-recompile/>
+        <j2seproject3:javac excludes="" 
gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" 
sourcepath="${src.dir}"/>
+    </target>
+    <target name="-post-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target 
depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single"
 name="compile-single"/>
+    <!--
+                ====================
+                JAR BUILDING SECTION
+                ====================
+            -->
+    <target depends="init" name="-pre-pre-jar">
+        <dirname file="${dist.jar}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+    </target>
+    <target name="-pre-jar">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" 
name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
+        <j2seproject1:jar/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" 
if="do.archive+manifest.available" name="-do-jar-with-manifest" 
unless="manifest.available+main.class-mkdist.available">
+        <j2seproject1:jar manifest="${manifest.file}"/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" 
if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" 
unless="manifest.available+main.class+mkdist.available">
+        <j2seproject1:jar manifest="${manifest.file}">
+            <j2seproject1:manifest>
+                <j2seproject1:attribute name="Main-Class" 
value="${main.class}"/>
+            </j2seproject1:manifest>
+        </j2seproject1:jar>
+        <echo level="info">To run this application from the command line 
without Ant, try:</echo>
+        <property location="${build.classes.dir}" 
name="build.classes.dir.resolved"/>
+        <property location="${dist.jar}" name="dist.jar.resolved"/>
+        <pathconvert property="run.classpath.with.dist.jar">
+            <path path="${run.classpath}"/>
+            <map from="${build.classes.dir.resolved}" 
to="${dist.jar.resolved}"/>
+        </pathconvert>
+        <echo level="info">java -cp "${run.classpath.with.dist.jar}" 
${main.class}</echo>
+    </target>
+    <target depends="init" if="do.archive" 
name="-do-jar-with-libraries-create-manifest" unless="manifest.available">
+        <tempfile deleteonexit="true" destdir="${build.dir}" 
property="tmp.manifest.file"/>
+        <touch file="${tmp.manifest.file}" verbose="false"/>
+    </target>
+    <target depends="init" if="do.archive+manifest.available" 
name="-do-jar-with-libraries-copy-manifest">
+        <tempfile deleteonexit="true" destdir="${build.dir}" 
property="tmp.manifest.file"/>
+        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
+    </target>
+    <target 
depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest"
 if="do.archive+main.class.available" name="-do-jar-with-libraries-set-main">
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="Main-Class" value="${main.class}"/>
+        </manifest>
+    </target>
+    <target 
depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest"
 if="do.archive+splashscreen.available" 
name="-do-jar-with-libraries-set-splashscreen">
+        <basename file="${application.splash}" 
property="splashscreen.basename"/>
+        <mkdir dir="${build.classes.dir}/META-INF"/>
+        <copy failonerror="false" file="${application.splash}" 
todir="${build.classes.dir}/META-INF"/>
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="SplashScreen-Image" 
value="META-INF/${splashscreen.basename}"/>
+        </manifest>
+    </target>
+    <target 
depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen"
 if="do.mkdist" name="-do-jar-with-libraries-pack">
+        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
+        <echo level="info">To run this application from the command line 
without Ant, try:</echo>
+        <property location="${dist.jar}" name="dist.jar.resolved"/>
+        <echo level="info">java -jar "${dist.jar.resolved}"</echo>
+    </target>
+    <target depends="-do-jar-with-libraries-pack" if="do.archive" 
name="-do-jar-with-libraries-delete-manifest">
+        <delete>
+            <fileset file="${tmp.manifest.file}"/>
+        </delete>
+    </target>
+    <target 
depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen,-do-jar-with-libraries-pack,-do-jar-with-libraries-delete-manifest"
 name="-do-jar-with-libraries"/>
+    <target name="-post-jar">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target 
depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar"
 description="Build JAR." name="jar"/>
+    <!--
+                =================
+                EXECUTION SECTION
+                =================
+            -->
+    <target depends="init,compile" description="Run a main class." 
name="run">
+        <j2seproject1:java>
+            <customize>
+                <arg line="${application.args}"/>
+            </customize>
+        </j2seproject1:java>
+    </target>
+    <target name="-do-not-recompile">
+        <property name="javac.includes.binary" value=""/>
+    </target>
+    <target depends="init,compile-single" name="run-single">
+        <fail unless="run.class">Must select one file in the IDE or set 
run.class</fail>
+        <j2seproject1:java classname="${run.class}"/>
+    </target>
+    <target depends="init,compile-test-single" name="run-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set 
run.class</fail>
+        <j2seproject1:java classname="${run.class}" 
classpath="${run.test.classpath}"/>
+    </target>
+    <!--
+                =================
+                DEBUGGING SECTION
+                =================
+            -->
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
+        <j2seproject1:nbjpdastart name="${debug.class}"/>
+    </target>
+    <target depends="init" if="netbeans.home" 
name="-debug-start-debugger-main-test">
+        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" 
name="${debug.class}"/>
+    </target>
+    <target depends="init,compile" name="-debug-start-debuggee">
+        <j2seproject3:debug>
+            <customize>
+                <arg line="${application.args}"/>
+            </customize>
+        </j2seproject3:debug>
+    </target>
+    <target 
depends="init,compile,-debug-start-debugger,-debug-start-debuggee" 
description="Debug project in IDE." if="netbeans.home" name="debug"/>
+    <target depends="init" if="netbeans.home" 
name="-debug-start-debugger-stepinto">
+        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
+    </target>
+    <target 
depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" 
if="netbeans.home" name="debug-stepinto"/>
+    <target depends="init,compile-single" if="netbeans.home" 
name="-debug-start-debuggee-single">
+        <fail unless="debug.class">Must select one file in the IDE or set 
debug.class</fail>
+        <j2seproject3:debug classname="${debug.class}"/>
+    </target>
+    <target 
depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single"
 if="netbeans.home" name="debug-single"/>
+    <target depends="init,compile-test-single" if="netbeans.home" 
name="-debug-start-debuggee-main-test">
+        <fail unless="debug.class">Must select one file in the IDE or set 
debug.class</fail>
+        <j2seproject3:debug classname="${debug.class}" 
classpath="${debug.test.classpath}"/>
+    </target>
+    <target 
depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test"
 if="netbeans.home" name="debug-test-with-main"/>
+    <target depends="init" name="-pre-debug-fix">
+        <fail unless="fix.includes">Must set fix.includes</fail>
+        <property name="javac.includes" value="${fix.includes}.java"/>
+    </target>
+    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" 
name="-do-debug-fix">
+        <j2seproject1:nbjpdareload/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" 
name="debug-fix"/>
+    <!--
+                =================
+                PROFILING SECTION
+                =================
+            -->
+    <!--
+                pre NB7.2 profiler integration
+            -->
+    <target depends="profile-init,compile" description="Profile a project in 
the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
+        <fail unless="netbeans.home">This target only works when run from 
inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile/>
+    </target>
+    <target depends="profile-init,compile-single" description="Profile a 
selected class in the IDE." if="profiler.info.jvmargs.agent" 
name="-profile-single-pre72">
+        <fail unless="profile.class">Must select one file in the IDE or set 
profile.class</fail>
+        <fail unless="netbeans.home">This target only works when run from 
inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="${profile.class}"/>
+    </target>
+    <target depends="profile-init,compile-single" 
if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
+        <fail unless="netbeans.home">This target only works when run from 
inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </profile>
+    </target>
+    <target depends="profile-init,compile-test-single" 
if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
+        <fail unless="netbeans.home">This target only works when run from 
inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" 
failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" 
showoutput="true">
+            <env key="${profiler.info.pathvar}" 
path="${profiler.info.agentpath}:${profiler.current.path}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg line="${profiler.info.jvmargs}"/>
+            <test name="${profile.class}"/>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper from="test-sys-prop.*" to="*" type="glob"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+    <!--
+                end of pre NB72 profiling section
+            -->
+    <target if="netbeans.home" name="-profile-check">
+        <condition property="profiler.configured">
+            <or>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" 
substring="-agentpath:"/>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" 
substring="-javaagent:"/>
+            </or>
+        </condition>
+    </target>
+    <target depends="-profile-check,-profile-pre72" description="Profile a 
project in the IDE." if="profiler.configured" name="profile" 
unless="profiler.info.jvmargs.agent">
+        <startprofiler/>
+        <antcall target="run"/>
+    </target>
+    <target depends="-profile-check,-profile-single-pre72" 
description="Profile a selected class in the IDE." if="profiler.configured" 
name="profile-single" unless="profiler.info.jvmargs.agent">
+        <fail unless="run.class">Must select one file in the IDE or set 
run.class</fail>
+        <startprofiler/>
+        <antcall target="run-single"/>
+    </target>
+    <target depends="-profile-test-single-pre72" description="Profile a 
selected test in the IDE." name="profile-test-single"/>
+    <target depends="-profile-check" description="Profile a selected test in 
the IDE." if="profiler.configured" name="profile-test" 
unless="profiler.info.jvmargs">
+        <fail unless="test.includes">Must select some files in the IDE or 
set test.includes</fail>
+        <startprofiler/>
+        <antcall target="test-single"/>
+    </target>
+    <target depends="-profile-check" description="Profile a selected class 
in the IDE." if="profiler.configured" name="profile-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set 
run.class</fail>
+        <startprofiler/>
+        <antcal target="run-test-with-main"/>
+    </target>
+    <target depends="-profile-check,-profile-applet-pre72" 
if="profiler.configured" name="profile-applet" 
unless="profiler.info.jvmargs.agent">
+        <fail unless="applet.url">Must select one file in the IDE or set 
applet.url</fail>
+        <startprofiler/>
+        <antcall target="run-applet"/>
+    </target>
+    <!--
+                ===============
+                JAVADOC SECTION
+                ===============
+            -->
+    <target depends="init" if="have.sources" name="-javadoc-build">
+        <mkdir dir="${dist.javadoc.dir}"/>
+        <condition else="" 
property="javadoc.endorsed.classpath.cmd.line.arg" 
value="-J${endorsed.classpath.cmd.line.arg}">
+            <and>
+                <isset property="endorsed.classpath.cmd.line.arg"/>
+                <not>
+                    <equals arg1="${endorsed.classpath.cmd.line.arg}" 
arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <javadoc additionalparam="${javadoc.additionalparam}" 
author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" 
docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" 
noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" 
notree="${javadoc.notree}" private="${javadoc.private}" 
source="${javac.source}" splitindex="${javadoc.splitindex}" 
use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" 
windowtitle="${javadoc.windowtitle}">
+            <classpath>
+                <path path="${javac.classpath}"/>
+            </classpath>
+            <fileset dir="${src.dir}" excludes="*.java,${excludes}" 
includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" 
erroronmissingdir="false">
+                <include name="**/*.java"/>
+                <exclude name="*.java"/>
+            </fileset>
+            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
+        </javadoc>
+        <copy todir="${dist.javadoc.dir}">
+            <fileset dir="${src.dir}" excludes="${excludes}" 
includes="${includes}">
+                <filename name="**/doc-files/**"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" 
erroronmissingdir="false">
+                <include name="**/doc-files/**"/>
+            </fileset>
+        </copy>
+    </target>
+    <target depends="init,-javadoc-build" if="netbeans.home" 
name="-javadoc-browse" unless="no.javadoc.preview">
+        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+    </target>
+    <target depends="init,-javadoc-build,-javadoc-browse" description="Build 
Javadoc." name="javadoc"/>
+    <!--
+                =========================
+                TEST COMPILATION SECTION
+                =========================
+            -->
+    <target depends="init,compile" if="have.tests" 
name="-pre-pre-compile-test">
+        <mkdir dir="${build.test.classes.dir}"/>
+    </target>
+    <target name="-pre-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="do.depend.true" name="-compile-test-depend">
+        <j2seproject3:depend classpath="${javac.test.classpath}" 
destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+    </target>
+    <target 
depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend"
 if="have.tests" name="-do-compile-test">
+        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" 
processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" 
excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target 
depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test"
 name="compile-test"/>
+    <target name="-pre-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target 
depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single"
 if="have.tests" name="-do-compile-test-single">
+        <fail unless="javac.includes">Must select some files in the IDE or 
set javac.includes</fail>
+        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
+        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" 
processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" 
srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" 
excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target 
depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single"
 name="compile-test-single"/>
+    <!--
+                =======================
+                TEST EXECUTION SECTION
+                =======================
+            -->
+    <target depends="init" if="have.tests" name="-pre-test-run">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run" if="have.tests" 
name="-do-test-run">
+        <j2seproject3:test testincludes="**/*Test.java"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run" 
if="have.tests" name="-post-test-run">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests 
failed; see details above.</fail>
+    </target>
+    <target depends="init" if="have.tests" name="test-report"/>
+    <target depends="init" if="netbeans.home+have.tests" 
name="-test-browse"/>
+    <target 
depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse"
 description="Run unit tests." name="test"/>
+    <target depends="init" if="have.tests" name="-pre-test-run-single">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" 
if="have.tests" name="-do-test-run-single">
+        <fail unless="test.includes">Must select some files in the IDE or 
set test.includes</fail>
+        <j2seproject3:test excludes="" includes="${test.includes}" 
testincludes="${test.includes}"/>
+    </target>
+    <target 
depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" 
if="have.tests" name="-post-test-run-single">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests 
failed; see details above.</fail>
+    </target>
+    <target 
depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single"
 description="Run single unit test." name="test-single"/>
+    <target depends="init,compile-test-single,-pre-test-run-single" 
if="have.tests" name="-do-test-run-single-method">
+        <fail unless="test.class">Must select some files in the IDE or set 
test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set 
test.method</fail>
+        <j2seproject3:test excludes="" includes="${javac.includes}" 
testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target 
depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method"
 if="have.tests" name="-post-test-run-single-method">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests 
failed; see details above.</fail>
+    </target>
+    <target 
depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method"
 description="Run single unit test." name="test-single-method"/>
+    <!--
+                =======================
+                TEST DEBUGGING SECTION
+                =======================
+            -->
+    <target depends="init,compile-test-single,-pre-test-run-single" 
if="have.tests" name="-debug-start-debuggee-test">
+        <fail unless="test.class">Must select one file in the IDE or set 
test.class</fail>
+        <j2seproject3:test-debug excludes="" includes="${javac.includes}" 
testClass="${test.class}" testincludes="${javac.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" 
if="have.tests" name="-debug-start-debuggee-test-method">
+        <fail unless="test.class">Must select one file in the IDE or set 
test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set 
test.method</fail>
+        <j2seproject3:test-debug excludes="" includes="${javac.includes}" 
testClass="${test.class}" testMethod="${test.method}" 
testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target depends="init,compile-test" if="netbeans.home+have.tests" 
name="-debug-start-debugger-test">
+        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" 
name="${test.class}"/>
+    </target>
+    <target 
depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test"
 name="debug-test"/>
+    <target 
depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method"
 name="debug-test-method"/>
+    <target depends="init,-pre-debug-fix,compile-test-single" 
if="netbeans.home" name="-do-debug-fix-test">
+        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix-test" 
if="netbeans.home" name="debug-fix-test"/>
+    <!--
+                =========================
+                APPLET EXECUTION SECTION
+                =========================
+            -->
+    <target depends="init,compile-single" name="run-applet">
+        <fail unless="applet.url">Must select one file in the IDE or set 
applet.url</fail>
+        <j2seproject1:java classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </j2seproject1:java>
+    </target>
+    <!--
+                =========================
+                APPLET DEBUGGING  SECTION
+                =========================
+            -->
+    <target depends="init,compile-single" if="netbeans.home" 
name="-debug-start-debuggee-applet">
+        <fail unless="applet.url">Must select one file in the IDE or set 
applet.url</fail>
+        <j2seproject3:debug classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </j2seproject3:debug>
+    </target>
+    <target 
depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet"
 if="netbeans.home" name="debug-applet"/>
+    <!--
+                ===============
+                CLEANUP SECTION
+                ===============
+            -->
+    <target name="-deps-clean-init" unless="built-clean.properties">
+        <property location="${build.dir}/built-clean.properties" 
name="built-clean.properties"/>
+        <delete file="${built-clean.properties}" quiet="true"/>
+    </target>
+    <target if="already.built.clean.${basedir}" 
name="-warn-already-built-clean">
+        <echo level="warn" message="Cycle detected: debugTestProjectAnt was 
already built"/>
+    </target>
+    <target depends="init,-deps-clean-init" name="deps-clean" 
unless="no.deps">
+        <mkdir dir="${build.dir}"/>
+        <touch file="${built-clean.properties}" verbose="false"/>
+        <property file="${built-clean.properties}" 
prefix="already.built.clean."/>
+        <antcall target="-warn-already-built-clean"/>
+        <propertyfile file="${built-clean.properties}">
+            <entry key="${basedir}" value=""/>
+        </propertyfile>
+    </target>
+    <target depends="init" name="-do-clean">
+        <delete dir="${build.dir}"/>
+        <delete dir="${dist.dir}" followsymlinks="false" 
includeemptydirs="true"/>
+    </target>
+    <target name="-post-clean">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-clean,-do-clean,-post-clean" 
description="Clean build products." name="clean"/>
+    <target name="-check-call-dep">
+        <property file="${call.built.properties}" prefix="already.built."/>
+        <condition property="should.call.dep">
+            <and>
+                <not>
+                    <isset property="already.built.${call.subproject}"/>
+                </not>
+                <available file="${call.script}"/>
+            </and>
+        </condition>
+    </target>
+    <target depends="-check-call-dep" if="should.call.dep" 
name="-maybe-call-dep">
+        <ant antfile="${call.script}" inheritall="false" 
target="${call.target}">
+            <propertyset>
+                <propertyref prefix="transfer."/>
+                <mapper from="transfer.*" to="*" type="glob"/>
+            </propertyset>
+        </ant>
+    </target>
+</project>
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/genfiles.properties
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/genfiles.properties
new file mode 100644
--- /dev/null
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=5fd7ce55
+build.xml.script.CRC32=ca7c8959
+build.xml.stylesheet.CRC32=28e38971@1.55.0.46
+# This file is used by a NetBeans-based IDE to track changes in generated 
files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never 
regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=5fd7ce55
+nbproject/build-impl.xml.script.CRC32=fd9b6979
+nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.55.0.46
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/project.properties
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/project.properties
new file mode 100644
--- /dev/null
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/project.properties
@@ -0,0 +1,84 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=false
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+application.title=debugTestProjectAnt
+application.vendor=cesilko
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+# Uncomment to specify the preferred debugger connection transport:
+#debug.transport=dt_socket
+debug.classpath=\
+    ${run.classpath}
+debug.test.classpath=\
+    ${run.test.classpath}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/debugTestProjectAnt.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+endorsed.classpath=
+excludes=
+includes=**
+jar.archive.disabled=${jnlp.enabled}
+jar.compress=false
+jar.index=${jnlp.enabled}
+javac.classpath=
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.processorpath=\
+    ${javac.classpath}
+javac.source=1.6
+javac.target=1.6
+javac.test.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+javac.test.processorpath=\
+    ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+jnlp.codebase.type=no.codebase
+jnlp.descriptor=application
+jnlp.enabled=false
+jnlp.mixed.code=default
+jnlp.offline-allowed=false
+jnlp.signed=false
+jnlp.signing=
+jnlp.signing.alias=
+jnlp.signing.keystore=
+main.class=memoryView.MemoryView
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=default_platform
+run.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+# Space-separated list of JVM arguments used when running the project.
+# You may also define separate properties like run-sys-prop.name=value 
instead of -Dname=value.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/project.xml
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/project.xml
new file mode 100644
--- /dev/null
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/nbproject/project.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1";>
+    <type>org.netbeans.modules.java.j2seproject</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/j2se-project/3";>
+            <name>debugTestProjectAnt</name>
+            <source-roots>
+                <root id="src.dir"/>
+            </source-roots>
+            <test-roots>
+                <root id="test.src.dir"/>
+            </test-roots>
+        </data>
+    </configuration>
+</project>
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/tests/FixAndContinue.java
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/ApplyCodeChangesTest.java
copy from 
debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/tests/FixAndContinue.java
copy to 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/ApplyCodeChangesTest.java
--- 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/tests/FixAndContinue.java
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/ApplyCodeChangesTest.java
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 1997-2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2012 Oracle and/or its affiliates. All rights reserved.
  *
  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
  * Other names may be trademarks of their respective owners.
@@ -24,12 +24,6 @@
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  *
- * Contributor(s):
- *
- * The Original Software is NetBeans. The Initial Developer of the Original
- * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
- * Microsystems, Inc. All Rights Reserved.
- *
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
@@ -40,22 +34,18 @@
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2012 Sun Microsystems, Inc.
  */
 
-package tests;
+package advanced;
 
-/**
- *
- * @author lolo
- */
-public class FixAndContinue {
-    
-    /** Creates a new instance of FixAndContinue */
-    public FixAndContinue() {
-    }
+public class ApplyCodeChangesTest {
     
     public static void main(String args[]) {
-        FixAndContinue fc = new FixAndContinue();
+        ApplyCodeChangesTest fc = new ApplyCodeChangesTest();
         fc.method();
         fc.method();
     }
@@ -71,9 +61,4 @@
     public void afterFix() {
         System.out.println("After code changes");
     }
-    
-    /*public void newMethod() {
-        for (int i = 10; i > 0; i--)
-            System.out.println(i);
-    }*/
-}
+}
\ No newline at end of file
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/DetectDeadlockTest.java
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/DetectDeadlockTest.java
new file mode 100644
--- /dev/null
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/DetectDeadlockTest.java
@@ -0,0 +1,92 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2012 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License.  When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2012 Sun Microsystems, Inc.
+ */
+
+package advanced;
+
+public class DetectDeadlockTest {
+
+    static Object mutex1 = new Object();
+    static Object mutex2 = new Object();
+
+    public DetectDeadlockTest() {
+    }
+
+    public static void main(String[] args) {
+        Thread1 t1 = new Thread1();
+        Thread2 t2 = new Thread2();
+        t1.start();
+        t2.start();
+    }
+
+    static class Thread1 extends Thread {
+
+        public void run() {
+            synchronized (mutex1) {
+                System.out.println("mutex 1");
+                try {
+                    Thread.sleep(100);
+                } catch (Exception ex) {}
+                synchronized (mutex2) {
+                    try {
+                        java.lang.System.out.println("mutex 2 - mutex 1");
+                        mutex2.wait(100);
+                    } catch (InterruptedException ex) {}
+                }
+            }
+        }
+    }
+
+    static class Thread2 extends Thread {
+
+        public void run() {
+            synchronized (mutex2) {
+                System.out.println("mutex 2");
+                try {
+                    Thread.sleep(100);
+                } catch (Exception ex) {}
+                synchronized (mutex1) {
+                    System.out.println("mutex 2 - mutex 1");
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/ThreadSuspendingTest.java
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/ThreadSuspendingTest.java
new file mode 100644
--- /dev/null
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/ThreadSuspendingTest.java
@@ -0,0 +1,77 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2012 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License.  When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2012 Sun Microsystems, Inc.
+ */
+package advanced;
+
+public class ThreadSuspendingTest {
+
+    static int i;
+
+    public static void main(String args[]) {
+        Thread thread1 = new Thread("Thread-1") {
+            public void run() {
+                for (;;) {
+                    System.out.println("Thread-1: " + (i + 1));
+                    try {
+                        Thread.sleep(2);
+                    } catch (Exception ex) {
+                    }
+                }
+            }
+        };
+
+        Thread thread2 = new Thread("Thread-2") {
+            public void run() {
+                for (;;) {
+                    i++;
+                    System.out.println("Thread-2: " + (i));
+                }
+            }
+        };
+
+        thread1.start();
+        try {
+            Thread.sleep(100);
+        } catch (Exception ex) {
+        }
+        thread2.start();
+    }
+}
\ No newline at end of file
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/VariablesTest.java
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/VariablesTest.java
new file mode 100644
--- /dev/null
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/advanced/VariablesTest.java
@@ -0,0 +1,51 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2012 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License.  When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2012 Sun Microsystems, Inc.
+ */
+package advanced;
+
+public class VariablesTest {
+
+    public static void main(String[] args) {
+        String string = "Hi!";
+        int n = 50;
+        System.out.println("Breakpoint");
+    }
+}
\ No newline at end of file
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/examples/advanced/MemoryView.java
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/memoryView/MemoryView.java
copy from 
debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/examples/advanced/MemoryView.java
copy to 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/memoryView/MemoryView.java
--- 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/examples/advanced/MemoryView.java
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/memoryView/MemoryView.java
@@ -1,7 +1,7 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 1997-2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2012 Oracle and/or its affiliates. All rights reserved.
  *
  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
  * Other names may be trademarks of their respective owners.
@@ -24,12 +24,6 @@
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  *
- * Contributor(s):
- *
- * The Original Software is NetBeans. The Initial Developer of the Original
- * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
- * Microsystems, Inc. All Rights Reserved.
- *
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
@@ -40,80 +34,97 @@
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2012 Sun Microsystems, Inc.
  */
+package memoryView;
 
-package examples.advanced;
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
 
 import java.text.MessageFormat;
-import java.util.*;
+import java.util.ResourceBundle;
 
 import javax.swing.Timer;
 
-/** Frame to display amount of free memory in the running application.
-* <P>
-* Handy for use with the IDE's internal execution. Then the statistic
-* of free memory in the whole environment is displayed.
+public class MemoryView extends javax.swing.JFrame {
+
+    /**
+     * bundle to use
 */
-public class MemoryView extends Helper {
-    /** bundle to use */
     private static ResourceBundle bundle;
-    /** message of free memory */
+    /**
+     * message of free memory
+     */
     private static MessageFormat msgMemory;
-
-    /** default update time */
-    private static int UPDATE_TIME = 1000;
-    /** timer to invoke updating */
+    /**
+     * default update time
+     */
+    private static final int UPDATE_TIME = 1000;
+    /**
+     * timer to invoke updating
+     */
     private Timer timer;
 
     {
-        bundle = ResourceBundle.getBundle 
("examples.advanced.MemoryViewLocale");
+        timer = null;
+        bundle = ResourceBundle.getBundle("memoryView.MemoryViewLocale");
         msgMemory = new MessageFormat (bundle.getString ("TXT_STATUS"));
-        timer = null;
     }
 
-    /** Initializes the Form */
+    /**
+     * Initializes the Form
+     */
     public MemoryView() {
-        Class clazz=java.lang.Runtime.class;
-        String string="Hi!";
-        int n=50;
-        List llist=new LinkedList();
-        List alist=new ArrayList();
-        List vec=new Vector();
-        Map hmap=new HashMap();
-        Map htab=new Hashtable();
-        Map tmap=new TreeMap();
-        Set hset=new HashSet();
-        Set tset=new TreeSet();
-        for (int i=0;i < n; i++) {
-            String s=i+". item";
-            llist.add(s);
-            alist.add(s);
-            vec.add(s);
-            hset.add(s);
-            tset.add(s);
-            hmap.put(""+i,s);
-            htab.put(""+i,s);
-            tmap.put(""+i,s);            
+        initComponents();
+
+        setTitle(bundle.getString("TXT_TITLE"));
+        doGarbage.setText(bundle.getString("TXT_GARBAGE"));
+        doRefresh.setText(bundle.getString("TXT_REFRESH"));
+        doClose.setText(bundle.getString("TXT_CLOSE"));
+
+        txtTime.setText(bundle.getString("TXT_TIME"));
+        doTime.setText(bundle.getString("TXT_SET_TIME"));
+        time.setText(String.valueOf(UPDATE_TIME));
+        time.selectAll();
+        time.requestFocus();
+
+        updateStatus();
+
+        timer = new Timer(UPDATE_TIME, new ActionListener() {
+            public void actionPerformed(ActionEvent ev) {
+                updateStatus();
         }
-        int[] policko=new int[]{1,2,3,4,5};
-        int[] pole=new int[n];
-        int[][] d2=new int[10][20];
+        });
+        timer.setRepeats(true);
+
+        pack();
     }
 
-    public void updateConsumption() {
-        for (int i = 0; i < 180; i++) {
-            updateStatus ();            
-            try {
-                Thread.sleep(UPDATE_TIME++);
-            }
-            catch (java.lang.InterruptedException ex) {
-                ex.printStackTrace();
-            }
-        }
+    /**
+     * Starts the timer.
+     */
+    public void addNotify() {
+        super.addNotify();
+        timer.start();
     }
 
-    /** Updates the status of memory consumption */
-    private int updateStatus () {
+    /**
+     * Stops the timer.
+     */
+    public void removeNotify() {
+        super.removeNotify();
+        timer.stop();
+    }
+
+    /**
+     * Updates the status of all components
+     */
+    private void updateStatus() {
         Runtime r = Runtime.getRuntime ();
         long free = r.freeMemory ();
         long total = r.totalMemory ();
@@ -126,56 +137,150 @@
 
         int taken = (int) (total - free);
 
-        System.out.println((msgMemory.format (new Object[] {
+        status.setMaximum((int) total);
+        status.setValue(taken);
+
+        text.setText(msgMemory.format(new Object[]{
                                             new Long (total),
                                             new Long (free),
                                             new Integer (taken)
-                                        })));
-        return taken;
+                }));
+        text.invalidate();
+        validate();
     }
 
+    /**
+     * This method is called from within the constructor to initialize the 
form.
+     * WARNING: Do NOT modify this code. The content of this method is always
+     * regenerated by the FormEditor.
+     */
+    private void initComponents() {//GEN-BEGIN:initComponents
+        jPanel1 = new javax.swing.JPanel();
+        text = new javax.swing.JLabel();
+        status = new javax.swing.JProgressBar();
+        jPanel2 = new javax.swing.JPanel();
+        doGarbage = new javax.swing.JButton();
+        doRefresh = new javax.swing.JButton();
+        doClose = new javax.swing.JButton();
+        jPanel3 = new javax.swing.JPanel();
+        txtTime = new javax.swing.JLabel();
+        time = new javax.swing.JTextField();
+        doTime = new javax.swing.JButton();
 
-    public static void main(String[] args) {
-        MemoryView mv = new MemoryView ();
-        mv.inner();
-        mv.test();
-        mv.updateConsumption();
-    }
-
-    public void inner() {
-        Thread t=new Thread(new Runnable() {
-            public void run() {
-                System.out.println("I\'m in anonymous inner class.");
+        addWindowListener(new java.awt.event.WindowAdapter() {
+            public void windowClosing(java.awt.event.WindowEvent evt) {
+                exitForm(evt);
             }
         });
-        t.start();
+
+        jPanel1.setLayout(new java.awt.BorderLayout());
+
+        jPanel1.add(text, java.awt.BorderLayout.SOUTH);
+
+        jPanel1.add(status, java.awt.BorderLayout.CENTER);
+
+        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
+
+        doGarbage.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                doGarbageActionPerformed(evt);
+            }
+        });
+
+        jPanel2.add(doGarbage);
+
+        doRefresh.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                doRefreshActionPerformed(evt);
+            }
+        });
+
+        jPanel2.add(doRefresh);
+
+        doClose.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                doCloseActionPerformed(evt);
+            }
+        });
+
+        jPanel2.add(doClose);
+
+        getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);
+
+        jPanel3.setLayout(new java.awt.BorderLayout(0, 20));
+
+        jPanel3.add(txtTime, java.awt.BorderLayout.WEST);
+
+        jPanel3.add(time, java.awt.BorderLayout.CENTER);
+
+        doTime.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                setRefreshTime(evt);
+            }
+        });
+
+        jPanel3.add(doTime, java.awt.BorderLayout.EAST);
+
+        getContentPane().add(jPanel3, java.awt.BorderLayout.NORTH);
+
+    }//GEN-END:initComponents
+
+    /**
+     * Exit the Application
+     */
+    private void exitForm(java.awt.event.WindowEvent evt) 
{//GEN-FIRST:event_exitForm
+        System.exit(0);
+    }//GEN-LAST:event_exitForm
+
+    private void setRefreshTime(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_setRefreshTime
         try {
-            t.join();
-        } catch (InterruptedException e) {
+            int rate = Integer.valueOf(time.getText()).intValue();
+            timer.setDelay(rate);
+        } catch (NumberFormatException ex) {
+            time.setText(String.valueOf(timer.getDelay()));
         }        
+        time.selectAll();
+        time.requestFocus();
+    }//GEN-LAST:event_setRefreshTime
+
+    private void doCloseActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_doCloseActionPerformed
+        exitForm(null);
+    }//GEN-LAST:event_doCloseActionPerformed
+
+    private void doRefreshActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_doRefreshActionPerformed
+        updateStatus();
+    }//GEN-LAST:event_doRefreshActionPerformed
+
+    private void doGarbageActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_doGarbageActionPerformed
+        System.gc();
+        updateStatus();
+    }//GEN-LAST:event_doGarbageActionPerformed
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton doClose;
+    private javax.swing.JButton doGarbage;
+    private javax.swing.JButton doRefresh;
+    private javax.swing.JButton doTime;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JPanel jPanel2;
+    private javax.swing.JPanel jPanel3;
+    private javax.swing.JProgressBar status;
+    private javax.swing.JLabel text;
+    private javax.swing.JTextField time;
+    private javax.swing.JLabel txtTime;
+    // End of variables declaration//GEN-END:variables
+
+    /**
+     * Opens memory view window in middle of screen
+     */
+    public static void main(java.lang.String[] args) {
+        MemoryView mv = new MemoryView();
+        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
+        Dimension m = mv.getSize();
+        d.width -= m.width;
+        d.height -= m.height;
+        d.width /= 2;
+        d.height /= 2;
+        mv.setLocation(d.width, d.height);
+        mv.setVisible(true);
     }
-
-    public String Vpublic = "Public Variable";
-    protected String Vprotected = "Protected Variable";
-    private String Vprivate = "Private Variable";
-    String VpackagePrivate = "Package-private Variable";   
-    public static String Spublic = "Public Variable";
-    protected static String Sprotected = "Protected Variable";
-    private static String Sprivate = "Private Variable";
-    static String SpackagePrivate = "Package-private Variable";    
-}
-
-class Helper {
-    public String inheritedVpublic = "Inherited Public Variable";
-    protected String inheritedVprotected = "Inherited Protected Variable";
-    private String inheritedVprivate = "Inherited Private Variable";
-    String inheritedVpackagePrivate = "Inherited Package-private Variable";  
 
-    public static String inheritedSpublic = "Inherited Public Variable";
-    protected static String inheritedSprotected = "Inherited Protected 
Variable";
-    private static String inheritedSprivate = "Inherited Private Variable";
-    static String inheritedSpackagePrivate = "Inherited Package-private 
Variable";   
-    
-    public void test() {
-        System.out.println("I\'m in secondary class");
-    }
-}
+}
\ No newline at end of file
diff --git 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/examples/advanced/MemoryViewLocale.properties
 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/memoryView/MemoryViewLocale.properties
copy from 
debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/examples/advanced/MemoryViewLocale.properties
copy to 
debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/memoryView/MemoryViewLocale.properties
--- 
a/debugger.jpda.ui/test/qa-functional/data/debugTestProject/src/examples/advanced/MemoryViewLocale.properties
+++ 
b/debugger.jpda.ui/test/qa-functional/data/debugTestProjectAnt/src/memoryView/MemoryViewLocale.properties
@@ -1,6 +1,9 @@
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 #
-# Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2012 Oracle and/or its affiliates. All rights reserved.
+# 
+# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+# Other names may be trademarks of their respective owners.
 #
 # The contents of this file are subject to the terms of either the GNU
 # General Public License Version 2 only ("GPL") or the Common
@@ -12,20 +15,14 @@
 # specific language governing permissions and limitations under the
 # License.  When distributing the software, include this License Header
 # Notice in each file and include the License file at
-# nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
+# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
 # particular file as subject to the "Classpath" exception as provided
-# by Sun in the GPL Version 2 section of the License file that
+# by Oracle in the GPL Version 2 section of the License file that
 # accompanied this code. If applicable, add the following below the
 # License Header, with the fields enclosed by brackets [] replaced by
 # your own identifying information:
 # "Portions Copyrighted [year] [name of copyright owner]"
 #
-# Contributor(s):
-#
-# The Original Software is NetBeans. The Initial Developer of the Original
-# Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
-# Microsystems, Inc. All Rights Reserved.
-#
 # If you wish your version of this file to be governed by only the CDDL
 # or only the GPL Version 2, indicate your decision by adding
 # "[Contributor] elects to include this software in this distribution
@@ -36,8 +33,15 @@
 # However, if you add GPL Version 2 code and therefore, elected the GPL
 # Version 2 license, then the option applies only if the new code is
 # made subject to such option by the copyright holder.
+# 
+# Contributor(s):
+# 
+# Portions Copyrighted 2012 Sun Microsystems, Inc.
 
-# {0} total memory
-# {1} free memory
-# {2} used memory
-TXT_STATUS=Used {2} bytes of {0} bytes allocated memory
+TXT_STATUS=Used {2} bytes of {0} allocated memory
+TXT_TITLE=Memory View
+TXT_GARBAGE=Garbage Collect
+TXT_REFRESH=Refresh Now
+TXT_CLOSE=Close
+TXT_TIME=Refresh time:
+TXT_SET_TIME=Apply
\ No newline at end of file
diff --git 
a/debugger.jpda.ui/test/qa-functional/src/org/netbeans/modules/debugger/jpda/ui/AntSanityTest.java
 
b/debugger.jpda.ui/test/qa-functional/src/org/netbeans/modules/debugger/jpda/ui/AntSanityTest.java
new file mode 100644
--- /dev/null
+++ 
b/debugger.jpda.ui/test/qa-functional/src/org/netbeans/modules/debugger/jpda/ui/AntSanityTest.java
@@ -0,0 +1,173 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright 2012 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+ * Other names may be trademarks of their respective owners.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License.  When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
+ *
+ * Contributor(s):
+ *
+ * Portions Copyrighted 2012 Sun Microsystems, Inc.
+ */
+package org.netbeans.modules.debugger.jpda.ui;
+
+import java.awt.event.KeyEvent;
+import java.io.IOException;
+import junit.framework.Test;
+import org.netbeans.jellytools.EditorOperator;
+import org.netbeans.jellytools.JellyTestCase;
+import org.netbeans.jellytools.MainWindowOperator;
+import org.netbeans.jellytools.ProjectsTabOperator;
+import org.netbeans.jellytools.TopComponentOperator;
+import org.netbeans.jellytools.actions.BuildJavaProjectAction;
+import org.netbeans.jellytools.modules.debugger.actions.ContinueAction;
+import org.netbeans.jellytools.modules.debugger.actions.StepIntoAction;
+import 
org.netbeans.jellytools.modules.debugger.actions.ToggleBreakpointAction;
+import org.netbeans.jellytools.modules.debugger.actions.RunToCursorAction;
+import org.netbeans.jellytools.nodes.Node;
+import org.netbeans.jemmy.EventTool;
+import org.netbeans.jemmy.operators.JPopupMenuOperator;
+import org.netbeans.jemmy.operators.JTableOperator;
+
+/**
+ * Set of basic tests to make sure that debugging of Ant based Java projects 
is
+ * not seriously broken.
+ *
+ * @author Jiri Kovalsky
+ */
+public class AntSanityTest extends JellyTestCase {
+
+    /**
+     * Array of test names to be executed in this test suite.
+     */
+    public static String[] testNames = new String[]{
+        "openDebugProject",
+        "startDebuggingF7",
+        "testLineBreakpoint",
+        "runToCursor"
+    };
+    
+    /**
+     * Name of tested project root node.
+     */
+    private static final String DEBUG_TEST_PROJECT_ANT = 
"debugTestProjectAnt";
+
+    /**
+     * Constructor required by JUnit.
+     *
+     * @param testName Method name to be used as test case.
+     */
+    public AntSanityTest(String testName) {
+        super(testName);
+    }
+
+    /**
+     * Returns suite of tests to be executed.
+     *
+     * @return Suite with test cases to be executed by JUnit.
+     */
+    public static Test suite() {
+        return createModuleTest(AntSanityTest.class, testNames);
+    }
+
+    /**
+     * Sets up IDE before each test case.
+     */
+    public void setUp() {
+        System.out.println("########  " + getName() + "  #######");
+    }
+
+    /**
+     * Opens and builds Ant based test project for the next tests.
+     *
+     * @throws IOException Exception thrown if opening project failed.
+     */
+    public void openDebugProject() throws IOException {
+        openDataProjects(DEBUG_TEST_PROJECT_ANT);
+        new EventTool().waitNoEvent(1000);
+        MainWindowOperator.StatusTextTracer stt = 
MainWindowOperator.getDefault().getStatusTextTracer();
+        stt.start();
+        Node projectNode = new 
ProjectsTabOperator().getProjectRootNode(DEBUG_TEST_PROJECT_ANT);
+        new BuildJavaProjectAction().perform(projectNode);
+        stt.waitText("Finished building " + DEBUG_TEST_PROJECT_ANT + " 
(clean,jar).");
+        stt.stop();
+    }
+
+    /**
+     * Starts debugging session by stepping into main method.
+     */
+    public void startDebuggingF7() {
+        Node projectNode = new 
ProjectsTabOperator().getProjectRootNode(DEBUG_TEST_PROJECT_ANT);
+        MainWindowOperator.StatusTextTracer stt = 
MainWindowOperator.getDefault().getStatusTextTracer();
+        stt.start();
+        new StepIntoAction().perform(projectNode);
+        stt.waitText("Thread main stopped at MemoryView.java:276.");
+        stt.stop();
+        assertEquals(new EditorOperator("MemoryView.java").getLineNumber(), 
276);
+    }
+    
+    /**
+     * Tests functionality of a line breakpoint and continue action.
+     */
+    public void testLineBreakpoint() {
+        EditorOperator eo = new EditorOperator("MemoryView.java");
+        eo.setCaretPositionToLine(278);
+        new ToggleBreakpointAction().perform();
+        MainWindowOperator.StatusTextTracer stt = 
MainWindowOperator.getDefault().getStatusTextTracer();
+        stt.start();
+        new ContinueAction().perform();
+        stt.waitText("Thread main stopped at MemoryView.java:278.");
+        stt.stop();
+        assertEquals(new EditorOperator("MemoryView.java").getLineNumber(), 
278);
+    }
+    
+    /**
+     * Tests that disabled breakpoints are ignored with run to cursor action.
+     */
+    public void runToCursor() {
+        EditorOperator eo = new EditorOperator("MemoryView.java");
+        eo.setCaretPositionToLine(280);
+        new ToggleBreakpointAction().perform();
+        JTableOperator jTableOperator = new JTableOperator(new 
TopComponentOperator(Utilities.breakpointsViewTitle));
+        assertEquals("Line MemoryView.java:280", 
jTableOperator.getValueAt(1, 0).toString());
+        new JPopupMenuOperator(jTableOperator.callPopupOnCell(1, 
0)).pushMenu("Disable");
+        MainWindowOperator.StatusTextTracer stt = 
MainWindowOperator.getDefault().getStatusTextTracer();
+        stt.start();
+        eo.makeComponentVisible();
+        eo.setCaretPositionToLine(282);
+        new RunToCursorAction().perform();
+        stt.waitText("Thread main stopped at MemoryView.java:282.");
+        stt.stop();
+        assertEquals(new EditorOperator("MemoryView.java").getLineNumber(), 
282);
+    }
+}
\ No newline at end of file
diff --git 
a/jellytools.java/test/qa-functional/src/org/netbeans/jellytools/JellytoolsJavaSuite.java
 
b/debugger.jpda.ui/test/qa-functional/src/org/netbeans/modules/debugger/jpda/ui/SanitySuite.java
copy from 
jellytools.java/test/qa-functional/src/org/netbeans/jellytools/JellytoolsJavaSuite.java
copy to 
debugger.jpda.ui/test/qa-functional/src/org/netbeans/modules/debugger/jpda/ui/SanitySuite.java
--- 
a/jellytools.java/test/qa-functional/src/org/netbeans/jellytools/JellytoolsJavaSuite.java
+++ 
b/debugger.jpda.ui/test/qa-functional/src/org/netbeans/modules/debugger/jpda/ui/SanitySuite.java
@@ -1,67 +1,58 @@
 /*
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright 2010 Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2012 Oracle and/or its affiliates. All rights reserved.
  *
  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
  * Other names may be trademarks of their respective owners.
  *
  * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development 
and
- * Distribution License("CDDL") (collectively, the "License"). You may not 
use
- * this file except in compliance with the License. You can obtain a copy of
- * the License at http://www.netbeans.org/cddl-gplv2.html or
- * nbbuild/licenses/CDDL-GPL-2-CP. See the License for the specific language
- * governing permissions and limitations under the License. When distributing
- * the software, include this License Header Notice in each file and include
- * the License file at nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided by
- * Oracle in the GPL Version 2 section of the License file that accompanied
- * this code. If applicable, add the following below the License Header, with
- * the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyrighted [year] [name of copyright owner]"
+ * General Public License Version 2 only ("GPL") or the Common
+ * Development and Distribution License("CDDL") (collectively, the
+ * "License"). You may not use this file except in compliance with the
+ * License. You can obtain a copy of the License at
+ * http://www.netbeans.org/cddl-gplv2.html
+ * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+ * specific language governing permissions and limitations under the
+ * License.  When distributing the software, include this License Header
+ * Notice in each file and include the License file at
+ * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the GPL Version 2 section of the License file that
+ * accompanied this code. If applicable, add the following below the
+ * License Header, with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
  *
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or 
GPL
- * Version 2] license." If you do not indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to 
its
- * licensees as provided above. However, if you add GPL Version 2 code and
- * therefore, elected the GPL Version 2 license, then the option applies only
- * if the new code is made subject to such option by the copyright holder.
+ * If you wish your version of this file to be governed by only the CDDL
+ * or only the GPL Version 2, indicate your decision by adding
+ * "[Contributor] elects to include this software in this distribution
+ * under the [CDDL or GPL Version 2] license." If you do not indicate a
+ * single choice of license, a recipient has the option to distribute
+ * your version of this file under either the CDDL, the GPL Version 2 or
+ * to extend the choice of license to its licensees as provided above.
+ * However, if you add GPL Version 2 code and therefore, elected the GPL
+ * Version 2 license, then the option applies only if the new code is
+ * made subject to such option by the copyright holder.
  *
  * Contributor(s):
  *
- * Portions Copyrighted 2011 Sun Microsystems, Inc.
+ * Portions Copyrighted 2012 Sun Microsystems, Inc.
  */
-package org.netbeans.jellytools;
+package org.netbeans.modules.debugger.jpda.ui;
 
 import junit.framework.Test;
-import org.netbeans.jellytools.modules.form.FormEditorOperatorTest;
-import 
org.netbeans.jellytools.modules.form.properties.editors.MethodPickerOperatorTest;
-import 
org.netbeans.jellytools.modules.form.properties.editors.ParametersPickerOperatorTest;
-import 
org.netbeans.jellytools.modules.form.properties.editors.PropertyPickerOperatorTest;
+import org.netbeans.jellytools.JellyTestCase;
 
 /**
  * Run all tests in the same instance of the IDE.
  *
- * @author Jiri Skrivanek
+ * @author Jiri Kovalsky
  */
-public class JellytoolsJavaSuite {
+public class SanitySuite {
 
     public static Test suite() {
         return JellyTestCase.emptyConfiguration().
-                addTest(NewFileWizardOperatorTest.class, 
NewFileWizardOperatorTest.tests).
-                addTest(NewJavaFileNameLocationStepOperatorTest.class, 
NewJavaFileNameLocationStepOperatorTest.tests).
-                addTest(NewJavaProjectNameLocationStepOperatorTest.class, 
NewJavaProjectNameLocationStepOperatorTest.tests).
-                addTest(NewProjectWizardOperatorTest.class, 
NewProjectWizardOperatorTest.tests).
-                addTest(OutlineOperatorTest.class, 
OutlineOperatorTest.tests).
-                addTest(TopComponentOperatorTest.class, 
TopComponentOperatorTest.tests).
-                addTest(FormEditorOperatorTest.class, 
FormEditorOperatorTest.tests).
-                addTest(MethodPickerOperatorTest.class, 
MethodPickerOperatorTest.tests).
-                addTest(ParametersPickerOperatorTest.class, 
ParametersPickerOperatorTest.tests).
-                addTest(PropertyPickerOperatorTest.class, 
PropertyPickerOperatorTest.tests).
-                suite();
+                addTest(AntSanityTest.class, 
AntSanityTest.testNames).suite();
     }
-}
+}
\ No newline at end of file

[hg] main-silver: Created first few sanity tests of Java debugge...

Jiri Kovalsky 11/08/2012

Project Features

About this Project

Debugger was started in November 2009, is owned by tpavek, and has 29 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20140418.2d69abc). © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
 
 
Close
loading
Please Confirm
Close