Skip to main content
Jump to: navigation, search

Ant/Test Script

< Ant
Revision as of 12:25, 11 February 2011 by Michael Rennie.ca.ibm.com (Talk | contribs) (External Tools)

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

Test Page Template

Test Page Template: Ant/Testing/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 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 - ensure only the targets specified in Auto Build are executed, except for immediately following a clean command.
      • manual - with target(s) set in After a Clean these targets should only for manual incremental builds. With no target(s) set for After a Clean, these targets should run following a clean command AND manual incremental builds.
      • after a clean (full) - ensure these targets are run in the build immediately following a clean command.
      • on a clean - ensure these targets are executed DURING the clean, and that After a Clean targets are run on the following build.
    • 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.