|
Eclipse 3.0 - Team 3.0 M5 Test Plan |
Test Plan for 3.0 M5 Milestone
This test plan covers areas touched by Team in 3.0 M5 development. For a list
of all Team bugs fixed in 3.0 M5, click here.
Checkout
Checkout As... Prompting
- Select a project in HEAD
- Perform a Checkout As
- Use the same name but specify a custom location
- Ensure project was checked out properly
- Select the same project and choose Checkout As again
- Use the same name but don't specify a custom location
- Ensure that the use is prompted to overwrite
- Test various options in prompt to ensure proper behavior
Compare
Comparison of remote resources
Compare With... in Repositories view
Perform the following steps:
- Select a project in HEAD and choose Compare With... from context menu
- Select a branch tag
- Ensure result of comparison is correct
- Repeat and in step 2) use a version tag
Repeat the above steps for a project in a branch and a project version.
Compare on two selections in Repositories view
Perform the following steps:
- Select a project in HEAD
- CTRL-select a project in a branch
- Choose Compare from context menu
- Ensure result of comparison is correct
Repeat the above for various conbinations (branch + version, version + branch,
branch + branch, version + version).
Compare on two selections in Resource History view.
Perform the following steps:
- Open Resource History view on a file with multiple revisions
- Select 2 and choose Compare from the context menu
- Ensure result of comparison is correct
Synchronize View
CVS Workspace Subscriber
Operations and Selection
Ensure Commit and Update buttons:
- operate on all applicable visible changes
- exclude filtered changes
- exclude conflicts
Ensure Update menu action:
- is enabled when selection contains incoming or conflicting changes
- operates only on selected changes
- silently handles mergable conflicts
- will prompt if conflicts are no mergable
Ensure Commit menu action
- is enable only when selection contains outgoing changes
- prompts form unadded resources
- operates only on selected changes
Ensure Override and Commit and Override and Update
- are only enabled for conflicts or changes in the opposite direction
- operates only on selected changes
Ensure Refresh button refreshes all projects (or working set projects) regardless
of mode or selection.
Ensure Refresh menu action refreshes only the selection
Modes and Working Sets
Ensure that choosing modes and working sets
- result in proper filtering
- updates status bar properly
All actions on large sets (Mark as Merged as well)
Merge Subscriber
Operations and Selection
Perform similar tests as for the workspace subscriber (ignoring Commit operations)
Modes and Working Sets
Perform similar tests as for the workspace subscriber
Resource History view editor linking
- Open the Resource History view and enable editor linking
- Open a compare editor from the sync view (on a resource that exists remotely)
and ensure that the history view updates.
- Open an editor from the Repositories vew and ensure that the history view
updates.
- Open an editoron a local file and ensure that the history view updates.
Repeat the above with the Resource History view hidden and ensure that no revision
history is fetched (i.e. no jobs appear in progress view).
Concurrency
Project State Changes
Background refresh and disconnect
- Load several projects from the repository
- Ensure that several have outgoing and incoming changes
- Choose one project to disconnect. The project should have incoming and outgoing
changes and be one of the later ones in the refresh order (alphebetical).
- Perform a refresh on all the projects
- While the refresh is occuring, disconnect the project chosen in step 3)
and leave CVS folders.
- Ensure that the project is removed from the sync view and no errors occur
Repeat the steps and purge the CVS meta-data in step 5).
Repeat the above steps but change the operation in step 5) to the following:
- close project
- project where server is unreachable
- delete project
- binary project import over source project with outgoing changes
Decoration and disconnect
- Load several projects from the repository
- Ensure that several have outgoing and incoming changes
- Choose one project to disconnect. The project should have incoming and outgoing
changes and be one of the later ones in the refresh order (alphebetical).
- Turn on CVS decorators
- As the decorations are being calculated, disconnect all projects from CVS
control.
- Ensure that the project is removed from the sync view and no errors occur
Repeat the above steps but change the operation in step 5) to the following:
- close project
- project where server is unreachable
- delete project
- binary project import over source project with outgoing changes
- delete or move files and folders (to test move/delete hook)
Minimal Performance Setting
Test the following background operations when performance is on minimum setting:
- Project checkout
- Refresh
- Repository view expansion
- Replace With Latest or Branch or Version
Crash Recovery
Scenario 1
- Turn on deep dirty decoration
- Dirty a file and ensure that the file and it's parents are dirty
- Quit Eclipse so dirty state is persisted
- Restart and perform an override and update or commit and ensure file and
parents are clean
- Kill Eclipse
- Restart and ensure parents and file are clean
Scenario 2
- Check out two copies of the same project
- Dirty the same file in both projects, commit one and refresh the other in
the sync view so a conflict is visible
- Quit Eclipse so that the sync state is persisted
- Restart Eclipse and perform an Override and Commit on the conflict
- Kill Eclipse
- Restart Eclipse and ensure that the sync view doesn't show the file (i.e
the file is in-sync).
Miscellaneous
Project sharing uses Add instead of Import (31928)
43494: Orphaned CVS folders before build
43559: Decorators and background build
44086: Replace with latest on new folder
Command Line Compatibility
Edit/Unedit and Baserev file format
Refresh Local