cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

UICommitValidation

UI Commit Validation Tests for Continuous NetBeans Build

This is description of UI functional tests which run as part of NetBeans continuous build. These tests should satisfy that new build is not corrupted. For every cluster exists a suite of tests which cover basic vital functionality. Each responsible engineer from the list below should be subscribed to broken_builds@netbeans.org mailing list. Test failures are reported by emails with subject "Hudson build became unstable: trunk #". Engineer should look at simple results and respond to the mailing list. For hints how to evaluate test results look at this document.

Test Suite Execution Rules

  • All developers have to execute commit validation test suite before committing their changes
  • If tests fail developers have to analyze the results and decide whether problem is in his code or in commit validation tests
  • If developer thinks the problem is in tests he has to file P1 issue for failing tests (use component: ide, subcomponent: commit validation) and wait for QE response. The current owner of commit validation tests is Ivan Sidorkin.
  • Responsible QE engineer has to respond during 24 hours (or on Monday in case test fails on Friday) and approve/disapprove commit
  • If QE does not respond in 24 hours developer can disable the test and commit his changes, and don't forget to email Ivan Sidorkin, so he can fix the test and enable it soon.


Clusters

CndAnchor

</span>

Cluster cnd
Description CND cluster
Status OK</div> Running on deadlock.
Location cnd.kit/test/qa-functional/src/org/netbeans/test/cnd/CNDValidation.java
How to run ant -f cnd.kit/build_UICommitValidation.xml -Dtest.config=commit test
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport/org.netbeans.test.cnd/
Responsible Engineer Alexander Pepin
Responsible Manager Julie Guzzetta


EnterpriseAnchor

</span>

Cluster enterprise (soa, xml)
Description Enterprise cluster including soa and xml
Status OK</div> Running on deadlock.
Location xml.schema/test/qa-functional/src/org/netbeans/test/xml/schema/AcceptanceTestCase.java
soa.kit/test/org/netbeans/test/qa-functional/src/xslt/AcceptanceTestCase.java
How to run ant -f soa.kit/build_UICommitValidation.xml -Dtest.config=uicommit -Dcontinue.after.failing.tests=true test
ant -f xml.schema/build_UICommitValidation.xml -Dtest.config=uicommit -Dcontinue.after.failing.tests=true test
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport/org.netbeans.test.xml.schema/
http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport/org.netbeans.test.xslt/
Responsible Engineer XML: Michael Nazarov
Responsible Manager XML: Martin Balin


IdeAnchor

</span>

Cluster ide (java, nb, platform)
Description Standard !NetBeans IDE including ide, java, nb and platform clusters.
Status OK</div> Running on deadlock.
Location java.kit/test/qa-functional/src/org/netbeans/test/ide/IDEValidation.java
How to run ant -f java.kit/build_UICommitValidation.xml -Dtest.config=commit -Dcontinue.after.failing.tests=true test
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport
Responsible Engineer Ivan Sidorkin
Responsible Manager Petr Blaha


IdentityAnchor

</span>

Cluster identity
Description Identity cluster.
Status ?</div> Need to assign responsible engineer and create tests.
Location
How to run
Results
Responsible Engineer
Responsible Manager


JtwoeeAnchor

</span>

Cluster j2ee
Description J2EE cluster
Status OK</div> Running on deadlock.
Location j2ee.kit/test/qa-functional/src/org/netbeans/test/j2ee/J2EEValidation.java
How to run ant -f j2ee.kit/build_UICommitValidation.xml -Dtest.config=j2ee -Dcontinue.after.failing.tests=true -Dtest-qa-functional-sys-prop.com.sun.aas.installRoot=/<your_workdir>/glassfish test
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport/org.netbeans.test.j2ee/
Responsible Engineer Ivan Sidorkin
Responsible Manager Petr Blaha


MobilityAnchor

</span>

Cluster mobility
Description Mobility cluster
Status OK</div> Running on deadlock.
Location mobility.project/test/qa-functional/src/org/netbeans/test/mobility/ValidationTest.java
How to run ant -f mobility.project/build_UICommitValidation.xml -Dtest.config=uicommit -Dcontinue.after.failing.tests=true -Dwtk.dir=<path_to_wtk> test
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport/org.netbeans.test.mobility/
Responsible Engineer Ivan Sidorkin
Responsible Manager Marian Mirilovic


ProfilerAnchor

</span>

Cluster profiler
Description Profiler cluster
Status !</div> Only two basic test cases are running on deadlock.
Location profiler/test/qa-functional/src/org/netbeans/test/profiler/ProfilerValidation.java
How to run ant -f profiler/build_UICommitValidation.xml -Dtest.config=commit -Dcontinue.after.failing.tests=true test
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport/org.netbeans.test.profiler/
Responsible Engineer Ivan Sidorkin
Responsible Manager Marian Mirilovic


RubyAnchor

</span>

Cluster ruby
Description Ruby cluster
Status OK</div> Running on deadlock.
Location ruby.kit/test/qa-functional/src/org/netbeans/test/ruby/RubyValidation.java
How to run ant -f ruby.kit/build_UICommitValidation.xml -Dtest.config=ruby -Dcontinue.after.failing.tests=true test
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport/org.netbeans.test.ruby/
Responsible Engineer Ivan Sidorkin
Responsible Manager Petr Blaha


UmlAnchor

</span>

Cluster uml
Description UML cluster
Status X Not yet migrated.
Location uml.kit/test/qa-functional/src/org/netbeans/test/uml/validation/UMLValidationTests.java
How to run ant -f xtest/instance/build_UICommitValidation.xml -Dxtest.config=commit-validation-uml runtests
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/artifact/xtest/instance/results/index.html
Responsible Engineer -
Responsible Manager -

VisualwebAnchor

</span>

Cluster visualweb
Description Visual web cluster
Status OK Running on deadlock.
Location visualweb.kit/test/qa-functional/src/org/netbeans/test/sanity/SanityTests.java
How to run ant -f visualweb.kit/build_UICommitValidation.xml -Dtest.config=uicommit test (Detailed instructions)
Results http://deadlock.netbeans.org/hudson/job/trunk/lastSuccessfulBuild/testReport
Responsible Engineer -
Responsible Manager Petr Blaha


PHPAnchor

</span>

Cluster php
Description PHP cluster
Status OK Running on deadlock.
Location php.editor/test/qa-functional/src/org/netbeans/test/php/Commit.java
How to run ant -f php.editor/build_UICommitValidation.xml -Dtest.config=commit -Dcontinue.after.failing.tests=true test
Results
Responsible Engineer Michael Nazarov
Responsible Manager Martin Balin


</span>

Infrastructure

NetBeans continuous build runs on Hudson server. Build is controlled by nbbuild/hudson/trunk script. To add tests for a new cluster you have to modify nbbuild/hudson/trunk. To add test for existing cluster you can modify nbbuild/project.properties file in your module. Similarly you can disable tests if you comment it out or remove it.

Special setup

  • GlassFish - for J2EE tests there is needed GlassFish application server. It is automatically installed and cleaned before every test run. It is controlled by nbbuild/hudson/initAppserver.sh script. There must exist an installer jar corresponding to AS_BINARY property in this script.
  • WTK - for mobility tests it is needed WTK. wtk.dir property set in nbbuild/hudson/trunk script points to /hudson. Zipped WTK must be in this directory and it has to be named exactly wtk22_linux.zip because it is hard coded in mobility.project/test/build-qa-functional.xml.

Run all tests at once

To run all tests at once you can use the following command:

ant commit-validation

To run only unit tests you can use the following command:

ant -Dtest.type="test-unit" commit-validation

Test results history

OBSOLETE, needs to be corrected.

To be able to track history of test failures, there is the testsHistory project. It runs after every successful trunk build. It copies results of tests into testsHistory workspace and prepares results to be processed by XTest PES. To setup testsHistory project do the following in your NetBeans working repository:

cd xtest
ant makedist
ant makedist-pes

Copy xtest/xtest-distribution.zip, xtest/pes/xtest-pes-distribution.zip, build_UICommitValidation.xml, pes-config_UICommitValidation.xml and xtest-pes_UICommitValidation.sh to /hudson/workdir/jobs/testsHistory and do the following on deadlock.netbeans.org:

cd /hudson/workdir/jobs/testsHistory
mkdir xtest-distribution
unzip -d xtest-distribution xtest-distribution.zip
mkdir xtest-pes
unzip -d xtest-pes xtest-pes-distribution.zip
rm *.zip
cp build_UICommitValidation.xml pes-config_UICommitValidation.xml xtest-pes
cp xtest-pes_UICommitValidation.sh xtest-pes/bin

Then configure Hudson project. You can see configuration config_UICommitValidation.xml. Also set to build testsHistory project after trunk project.

Test sandbox

OBSOLETE, needs to be corrected.

Project http://deadlock.netbeans.org/hudson/job/testsSandbox can be used to try new tests before you add them into official suite.

Important links and files

 (partly obsolete)