Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Ant/Test Script"

< Ant
(Feature Testing)
Line 11: Line 11:
 
All tests should be done with resource names of varying length, specifically resource names of length one must be tested (the cause of [https://bugs.eclipse.org/bugs/show_bug.cgi?id=323588 bug 323588]).
 
All tests should be done with resource names of varying length, specifically resource names of length one must be tested (the cause of [https://bugs.eclipse.org/bugs/show_bug.cgi?id=323588 bug 323588]).
  
== Feature List ==
+
== Test Passes ==
 +
[[Ant/Testing/3.7M5 3.7M5]]
 +
[[Ant/Testing/3.6.2 3.6.2]]
  
=== Ant Editor ===
+
== Ant Editor ==
 
*Folding
 
*Folding
 
**make use of the editor context ruler menu
 
**make use of the editor context ruler menu
Line 40: Line 42:
 
**"Large" properties (need to generate test case) in Ant Editor
 
**"Large" properties (need to generate test case) in Ant Editor
  
=== Ant View ===
+
== Ant View ==
 
*General
 
*General
 
**context menu actions
 
**context menu actions
Line 52: Line 54:
 
**reconcile triggered on save
 
**reconcile triggered on save
  
=== Debugging ===
+
== Debugging ==
 
*Buildfiles in the same JRE
 
*Buildfiles in the same JRE
 
**breakpoints (check target breakpoints as well)
 
**breakpoints (check target breakpoints as well)
Line 68: Line 70:
 
**properties update correctly in the variables view
 
**properties update correctly in the variables view
  
=== Import / Export ===
+
== Import / Export ==
 
*Export a Java Project to a buildfile containing a javac task etc.
 
*Export a Java Project to a buildfile containing a javac task etc.
 
**error cases
 
**error cases
Line 78: Line 80:
 
**correct links for various destdir and sourcedir
 
**correct links for various destdir and sourcedir
  
=== Input Handling ===
+
== Input Handling ==
 
*Same JRE
 
*Same JRE
 
**with / without valid args
 
**with / without valid args
Line 88: Line 90:
 
**-noinput
 
**-noinput
  
=== Launching ===
+
== Launching ==
 
*Correct UI representation of objects contributed to build (same/separate JRE) in the preferences and launch configuration tabs
 
*Correct UI representation of objects contributed to build (same/separate JRE) in the preferences and launch configuration tabs
 
**properties
 
**properties
Line 95: Line 97:
 
**types
 
**types
  
=== External Tools ===
+
== External Tools ==
 
*Tool Builders
 
*Tool Builders
 
**migration from 2.0, 3.0 (with and without prompting)
 
**migration from 2.0, 3.0 (with and without prompting)
Line 112: Line 114:
 
**migration of existing builders to new format (3.0.1 builder to 3.1 builder only)
 
**migration of existing builders to new format (3.0.1 builder to 3.1 builder only)
  
=== Headless Builds ===
+
== Headless Builds ==
 
*Run a headless build, ensuring that:
 
*Run a headless build, ensuring that:
 
**no UI is started
 
**no UI is started
Line 118: Line 120:
 
**the build does not fail (unexpectedly)
 
**the build does not fail (unexpectedly)
  
=== Headless External Tools ===
+
== Headless External Tools ==
 
*Run a headless external tool, ensuring that
 
*Run a headless external tool, ensuring that
 
**no UI (from Eclipse) is started
 
**no UI (from Eclipse) is started
Line 124: Line 126:
 
**the tool does not fail (unexpectedly)
 
**the tool does not fail (unexpectedly)
  
=== Refactoring ===
+
== Refactoring ==
 
*In the Ant Editor
 
*In the Ant Editor
 
**Rename in File (Alt-Shift-R) - ensure linked mode is correct and edits are executed correctly
 
**Rename in File (Alt-Shift-R) - ensure linked mode is correct and edits are executed correctly
Line 134: Line 136:
 
**Ant launch configurations should be updated
 
**Ant launch configurations should be updated
  
===Preferences ===
+
== Preferences ==
 
*all preference pages must have help topics
 
*all preference pages must have help topics
 
*all preference changes must be cancelable
 
*all preference changes must be cancelable
Line 142: Line 144:
 
**ignoring errors / problems
 
**ignoring errors / problems
  
=== Test Suite ===
+
== Test Suite ==
 
All tests should run without failure, and should be runnable individually
 
All tests should run without failure, and should be runnable individually
  
 
*launch the Ant core test suite from org.eclipse.ant.tests.core
 
*launch the Ant core test suite from org.eclipse.ant.tests.core
 
*launch the Ant ui test suites from org.eclipse.ant.tests.ui
 
*launch the Ant ui test suites from org.eclipse.ant.tests.ui

Revision as of 13:06, 20 January 2011

Platform Ant
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source

Test Page Template

Test Page Template: Ant/Test Plan Template.

This template must be used to create a new test page for each release that requires testing.

Any new features that are added to the test script must also be added to the feature list section of the template.

Testing Notes

All tests should be done with resource names of varying length, specifically resource names of length one must be tested (the cause of bug 323588).

Test Passes

Ant/Testing/3.7M5 3.7M5 Ant/Testing/3.6.2 3.6.2

Ant Editor

  • Folding
    • make use of the editor context ruler menu
    • key binding actions: Expand All, Enable folding
    • folding is presented for all the partitions in the Ant buildfile. Partion hover is correct.
  • Navigation
    • properties (from files as well)
    • targets
    • referenced elements
    • macrodefs, taskdefs
    • enable / disable
    • key Modifier and modifier manipulation (preference page)
    • links presented for all reasonable Ant elements
  • Mark Occurrences
    • respecting preference and editor toolbar setting to mark occurrences
    • sticky occurrences setting
    • ensure targets references are correctly highlighted
    • ensure properties references are correctly highlighted
  • Content Assist
    • should respect global preferences for auto-completion, activation, colouring, etc
    • should offer reasonable completions
    • templates should be available and work when applied and run
  • Performance
    • "Large" taskdefs (ant-contrib) in Ant Editor
    • "Large" imports (need to generate test case) in Ant Editor
    • "Large" properties (need to generate test case) in Ant Editor

Ant View

  • General
    • context menu actions
    • DnD
    • add / removal
    • search
    • running targets (default and otherwise)
    • navigation to targets with selection for normal, external entities and imported targets
  • Auto Reconcile
    • ensure correct functionality on / off (use the editor toolbar action with the "refresh" icon)
    • reconcile triggered on save

Debugging

  • Buildfiles in the same JRE
    • breakpoints (check target breakpoints as well)
    • stepping (step into, step over for constructs like antcall and ant)
    • dependency stack
    • suspend / resume / terminate
    • run to line support
    • properties update correctly in the variables view
  • Buildfiles in a separate JRE
    • breakpoints (check target breakpoints as well)
    • stepping (step into, step over for constructs like antcall and ant)
    • dependency stack
    • suspend / resume / terminate
    • run to line support
    • properties update correctly in the variables view

Import / Export

  • Export a Java Project to a buildfile containing a javac task etc.
    • error cases
    • classpath including plugin dependencies
  • Import a Java Project from an external buildfile containing a javac task
    • error cases
    • correct links setup for multi-platform
    • correct links for various destdir and sourcedir
    • correct links for various destdir and sourcedir

Input Handling

  • Same JRE
    • with / without valid args
    • cancel
    • -noinput
  • Separate JRE
    • with / without valid args
    • cancel
    • -noinput

Launching

  • Correct UI representation of objects contributed to build (same/separate JRE) in the preferences and launch configuration tabs
    • properties
    • classpath entries
    • tasks
    • types

External Tools

  • Tool Builders
    • migration from 2.0, 3.0 (with and without prompting)
    • Java projects and simple projects
    • add / remove (ensure cleanup on disk)
    • rename on creation and as an edit (ensure cleanup on disk)
    • executing an Ant build and program
    • same VM / separate VM
    • making use of environment variables
    • Ant builders set to execute different targets for different build kinds (Ant builder target tab)
      • auto
      • manual
      • after a clean (full)
      • on a clean
    • program builders triggered on clean (Build option tab)
    • migration of existing builders to new format (3.0.1 builder to 3.1 builder only)

Headless Builds

  • Run a headless build, ensuring that:
    • no UI is started
    • no exceptions occur without a UI
    • the build does not fail (unexpectedly)

Headless External Tools

  • Run a headless external tool, ensuring that
    • no UI (from Eclipse) is started
    • no exceptions occur without a UI
    • the tool does not fail (unexpectedly)

Refactoring

  • In the Ant Editor
    • Rename in File (Alt-Shift-R) - ensure linked mode is correct and edits are executed correctly
  • Rename Projects
    • build files should be updated
    • Ant launch configurations should be updated
  • Rename Buildfiles
    • build files should be updated
    • Ant launch configurations should be updated

Preferences

  • all preference pages must have help topics
  • all preference changes must be cancelable
  • ensure correct adherance to the user preference settings for:
    • Ant runtime settings
    • editor customization
    • ignoring errors / problems

Test Suite

All tests should run without failure, and should be runnable individually

  • launch the Ant core test suite from org.eclipse.ant.tests.core
  • launch the Ant ui test suites from org.eclipse.ant.tests.ui

Copyright © Eclipse Foundation, Inc. All Rights Reserved.