cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

PVCS Profile Test Specification for Generic VCS Module

Author: Jiri Kovalsky
Version: 1.0
Last update: Tue July 4 13:08:31 CET 2002

Table of Contents


1. Introduction:

    Merant's PVCS tool is one the supported version control systems in the IDE. This document describes how PVCS profile for Generic VCS module should be tested in order to know whether all of its commands work correctly.

Legend:
This test case is part of validation suite. - this icon represents a test case that is part of validation suite and is used during Q-build testing.
This test case is automated. - this icon represents a test case that was automated and is run daily in test runtime.

2. Mount PVCS filesystem

Purpose: This suite tests whether it is possible to mount PVCS filesystem according to settings specified in mounting wizard which are defined in chosen PVCS profile.
Setup: Be sure to have Merant PVCS Version Manager 6.7 or higher installed on your computer with an account created for you. Make sure that PATH environment variable is set properly so that vlog command can be executed from command-line. Create new directory with similar contents like it is shown at
these pictures. Create one more new directory for repository location.

Test case # Description
2.1 PVCS settings available
This test case is part of validation suite.This test case is automated.
1. Invoke Versioning | Mount Version Control | Generic VCS from main menu.
2. Choose proposed PVCS profile from the list suitable for your operating system.
3. Verify that "Project Database", "Project Name", "User Name" and "Workfiles Location" textfields appeared in the dialog.
2.2 Project database selector
This test case is part of validation suite.This test case is automated.
1. Click "Select..." button next to "Project Database" textfield.
2. Choose "Select a Database Used By PVCS GUI" radio button in "Project Database Selector" dialog.
3. If you have some databases registered in PVCS GUI, these should be loaded after a while.
4. Choose "Pick a Database In Subfolder Of" radio button and use "Browse..." button to select the empty directory you prepared.
5. After a while "No Database Found." message must appear.
6. Choose "Database Location Path" radio button and use "Browse..." button to select the empty directory you prepared e.g. D:\Tests\PVCS\Repo1. Then press "OK" button.
2.3 PVCS connected
This test case is part of validation suite.This test case is automated.
1. Setup your name to "User Name" textfield.
2. Setup "Workfiles Location" to the directory you prepared e.g. D:\Tests\PVCS\Work1.
3. Eventually setup "Unix Shell" in case of Windows 95/98/ME system and push "Finish" button.
4. Give your password and push "OK" button.

3. Repository creation

Purpose: This suite tests whether it is possible to upload source code into PVCS repository. It is essential to start version control over new files in order to work with them later on a daily basis.
Setup: The repository of PVCS must be completely empty.

Test case # Description
3.1 Create project database
This test case is part of validation suite.This test case is automated.
1. Right click the root node of your "PVCS D:\Tests\PVCS\Work1" filesystem.
2. Choose PVCS | Create Project Database action from the popup menu.
3.2 Create projects
This test case is part of validation suite.This test case is automated.
1. Invoke PVCS | Create Project action on "test [Local]" node.
2. Invoke PVCS | Create Project action on "another [Local]" node.
3.3 Single file addition
This test case is part of validation suite.This test case is automated.
1. Invoke PVCS | Add action on "A_File [Local]" node.
2. Type "Generated A_File class." as "Workfile Description".
3. Type "Initial revision." as "Change Description" and push "OK" button.
3.4 Multiple file addition
This test case is part of validation suite.This test case is automated.
1. Select "B_File [Local]" and "D_File [Local]" files as one multiselection using CTRL key.
2. Invoke PVCS | Add action on them.
3. Type "Auto-generated class file." as "Workfile Description".
4. Type "Initial revision." as "Change Description" and push "OK" button.
3.5 Add with lock and label
This test case is automated.
1. Press CTRL key and invoke PVCS | Add... action on "Formular [Local]" node.
2. Type "Auto-generated form file." as "Workfile Description".
3. Type "Initial revision." as "Change Description".
4. Type "My_Version" as "Assign a version label".
5. Check "Keep the revision locked" checkbox.
6. Check "Float label with the tip revision" checkbox and push "OK" button.

4. Regular development

Purpose: This suite tests the most often used commands of typical PVCS user.
Setup: No preparation required.

Test case # Description
4.1 Checkout a file
This test case is part of validation suite.This test case is automated.
1. Double click "A_File [Current]" node. It will be opened into editor.
2. Invoke PVCS | Get on "A_File [Current]" node in explorer.
3. Check both checkboxes and push "OK" button.
4.2 Modify the file
This test case is part of validation suite.This test case is automated.
1. Insert brand-new line somewhere into the file.
2. Delete some other line but not directly next to the new line.
3. Modify another line but not directly next to the lines mentioned above and Save the file.
4.3 View differences
This test case is part of validation suite.This test case is automated.
1. Invoke PVCS | Diff on "A_File [Locally Modified; 1.1] (...)" node.
4.4 Checkin the file
This test case is part of validation suite.This test case is automated.
1. Invoke PVCS | Put on "A_File [Locally Modified; 1.1] (...)" node.
2. Setup "Three lines have changed." as "Change Description" and push "OK" button.
4.5 Inspect the file
This test case is part of validation suite.This test case is automated.
1. Right click "A_File [Current]" node.
2. Choose PVCS | History action from the popup menu.
4.6 Get a missing file
This test case is part of validation suite.This test case is automated.
1. Delete the "Formular [Current; 1.1] (...)" node.
2. Select both "Formular.form [Missing; 1.1] (...)" and "Formular.java [Missing; 1.1] (...)" nodes at once using CTRL key.
3. Invoke PVCS | Get on this multiselection and push "OK".
4.7 Give up a lock on file
This test case is part of validation suite.This test case is automated.
1. Right click "Formular [Current; 1.1] (...)" node.
2. Choose PVCS | Unlock popup menu action.
4.8 Remove a revision
This test case is part of validation suite.This test case is automated.
1. Invoke PVCS | Remove Revision on "D_File [Current]" node.
2. Push "Yes" button when asking you for confirmation of this operation.
3. Push "OK" button and close the information about successful removal of revision.
4.9 Create own revision
This test case is automated.
1. Press CTRL key and invoke PVCS | Put... on "D_File [Locally Modified]" node.
2. Setup "Assigning own number." as "Change Description".
3. Check "Check the workfile in and immediately out" checkbox.
4. Setup "2.0" as "Assign a revision number".
5. Setup "My_Version" as "Assign a version label" and push "OK" button.
4.10 Get specific revision
This test case is automated.
1. Press CTRL key and invoke PVCS | Get... on "D_File [Current]" node.
2. Setup "Specific revision" to "2.0".
3. Check "Set the date and time of the file to the current time" check box and push "OK" button.
4.11 Lock a file
This test case is part of validation suite.This test case is automated.
1. Right click "D_File [Current]" node.
2. Choose PVCS | Lock popup menu action.
4.12 Create a branch
This test case is part of validation suite.This test case is automated.
1. Press CTRL key and invoke PVCS | Put... on "D_File [Current; 2.1] (...)" node.
2. Setup "Starting new branch." as "Change Description".
3. Check "Check in the workfile even if unchanged" checkbox.
4. Check "Apply a lock on checkout" checkbox.
5. Setup "MyBranch" as "Assign a version label".
6. Check "Float label with the tip" checkbox.
7. Check "Start a branch" checkbox and push "OK" button.
4.13 View development tree
This test case is part of validation suite.This test case is automated.
1. Right click "D_File [Current]" node.
2. Choose Versioning Explorer popup menu action.
3. "Versioning" window must get opened with "D_File.java [Current; 2.0.1.1] (...)" node expanded.
4. Expand "2.0 Assigning own number." node and its "2.0.1" subnode too.

5. Additional command options

Purpose: This suite tests less often used commands or its specific options and less typical workflows of PVCS user.
Setup: No preparation required.

Test case # Description
5.1 Unlock specific revision
This test case is automated.
1. Press CTRL key and invoke PVCS | Unlock... on "D_File [Current; 2.0.1.1] (...)" node.
2. Choose "Specific revision(s)" radio button.
3. Setup "2.0.1.1" as desired revision and push "OK" button.
5.2 Lock specific revision
This test case is automated.
1. Press CTRL key and invoke PVCS | Lock... on "D_File [Current]" node.
2. Choose "Specific revision(s)" radio button.
3. Setup "2.0" as desired revision and push "OK" button.
5.3 Unlock by user
This test case is automated.
1. Press CTRL key and invoke PVCS | Unlock... on "D_File [Current; 2.1] (...)" node.
2. Choose "All locks by user" radio button.
3. Setup your name as desired user and push "OK" button.
5.4 Lock by version label
This test case is automated.
1. Press CTRL key and invoke PVCS | Lock... on "Formular [Current]" node.
2. Choose "Revisions identified by version label(s)" radio button.
3. Setup "floating_version:My_Version" as desired version label and push "OK" button.
5.5 Unlock trunk revision
This test case is automated.
1. Hold CTRL key and right click "Formular [Current; 1.1] (...)" node.
2. Choose PVCS | Unlock... popup menu action and push "OK" button.
5.6 Local refreshing
This test case is automated.
1. Externally delete D_File.java file.
2. Within 15 seconds invoke PVCS | Refresh on "D_File [Current]" node.
3. The file must immediately change to "D_File.java [Missing]".
4. Press CTRL key and invoke PVCS | Get... on "D_File.java [Missing]" node.
5. Setup "Version Label" as "floating_version" and push "OK" button. Then repeat step 1.
6. Within 15 seconds invoke PVCS | Refresh on "another [Current]" node.
5.7 Recursive checkout
This test case is automated.
1. Invoke PVCS | Get on test [Current] node.
2. Uncheck "Get all subdirectories" and push "OK" button.
3. Close the "Retrieving" dialog once it's done.
4. The "D_File.java" node must stay still as [Missing].
5. Repeat step 1 and push "OK" button directly.
5.8 Recursive refreshing
This test case is automated.
1. Externally delete D_File.java file.
2. Within 15 seconds invoke PVCS | Refresh Recursively on "test [Current]" node.
5.9 Recursive checkout by date
This test case is automated.
1. Press CTRL key and invoke PVCS | Get... on test [Current] node.
2. Check "Check out by date" and push "OK" button.
5.10 Checkout newer revision
This test case is automated.
1. Externally delete D_File.java file.
2. Press CTRL key and invoke PVCS | Get... on D_File.java [Missing] node.
3. Check "Check out by date" and choose "Revision newer than date/time" option.
4. Set it to yesterday's date in format mm/dd/yy hh:mm:ss and push "OK" button.
5.11 Checkout older revision
This test case is automated.
1. Externally delete D_File.java file.
2. Press CTRL key and invoke PVCS | Get... on D_File.java [Missing] node.
3. Check "Check out by date" and choose "Revision checked in before" option.
4. Set it to tomorrow's date in format mm/dd/yy hh:mm:ss and push "OK" button.
5.12 Diff specific revisions
This test case is automated.
1. Press CTRL key and invoke PVCS | Diff... on A_File [Current] node.
2. Setup "1.0" as "Revision 1".
3. Setup "1.1" as "Revision 2" and push "OK" button.
5.13 Diff by version labels
This test case is automated.
1. Press CTRL key and invoke PVCS | Diff... on A_File [Current] node.
2. Choose "Version label 1" option and set it up to "floating_version".
3. Choose "Version label 2" option and set it up to "My_Version" and push "OK" button.
5.14 Diff without whitespaces
This test case is automated.
1. Invoke PVCS | Get on B_File [Current] node.
2. Check both checkboxes and push "OK" button.
3. Open "B_File [Current; 1.1] (...)".
4. Change some word at one line and press TAB key at beginning of another line. Save the file.
5. Press CTRL key and invoke PVCS | Diff... on B_File [Locally Modified; 1.1] (...) node.
6. Check "Ignore white spaces at beginning and end of line" checkbox and push "OK" button.
5.15 Generate delta file
This test case is automated.
1. Press CTRL key and invoke PVCS | Diff... on B_File [Locally Modified; 1.1] (...) node.
2. Check "Generate delta file" checkbox.
3. Setup "Delta output file" to e.g. "D:\Tests\PVCS\Repo1\delta.txt" and push "OK" button.
5.16 Apply delta file
This test case is automated.
1. Invoke PVCS | Get on B_File [Locally Modified; 1.1] (...) node.
2. Check "Check out writable workfile" and push "OK".
3. Invoke PVCS | Apply Delta on B_File [Current; 1.1] (...) node.
4. Use "Browse..." button to setup "Delta file" to "D:\Tests\PVCS\Repo1\delta.txt" and push "OK" button.
5.17 Create 3 more revisions
This test case is automated.
1. Press CTRL key and invoke PVCS | Put... on B_File [Locally Modified; 1.1] (...) node.
2. Check "Apply a lock on checkout" and setup "Change Description" to "One minor change done.".
3. Setup "Assign a version label" to "Revision_A" and push "OK".
4. Change some other line, Save the file and repeat steps 1 and 2.
5. Setup "Assign a version label" to "Revision_B" and push "OK".
6. Change some other line, Save the file and repeat steps 1 and 2.
7. Setup "Assign a version label" to "Revision_C" and push "OK".
5.18 Merge by revisions
This test case is automated.
1. Invoke PVCS | Merge on "B_File [Current; 1.4] (...)" node.
2. Setup "1.1" as "Parent Revision Number".
3. Setup "1.2" as "Branch Point 1 Revision Number".
4. Setup "1.3" as "Branch Point 2 Revision Number" and push "OK" button.
5.19 Merge by version labels
This test case is automated.
1. Press CTRL key and invoke PVCS | Merge... on "B_File [Current; 1.4] (...)" node.
2. Setup "Revision_A" as "Parent Version Label".
3. Setup "Revision_B" as "Branch Point 1 Version Label".
4. Setup "Revision_C" as "Branch Point 2 Version Label".
5. Setup e.g. "D:\Tests\PVCS\Repo1\B_File.merged" and push "OK" button.
5.20 View selected information
This test case is automated.
1. Press CTRL key and invoke PVCS | History... on "B_File [Current; 1.4] (...)" node.
2. Choose "Revision information only" as "Report type".
3. Setup "1.2" as "Revision".
4. Setup your name as "Author(s)" and "Owner(s)".
5. Setup 12/12/01 00:00:00 as "Date from".
6. Setup 12/12/05 00:00:00 as "Date to" and push "OK" button.
5.21 Remove particular revision
This test case is automated.
1. Invoke PVCS | Remove on "B_File [Current; 1.4] (...)" node.
2. Confirm your decision. Choose "Specific revision(s)" option, set it up to "1.2 and push "OK" button.
5.22 Remove particular revision
This test case is automated.
1. Invoke PVCS | Remove on "B_File [Current; 1.4] (...)" node.
2. Confirm your decision.
3. Choose "Revisions identified by version label(s)" option, set it up to "Revision_A and push "OK" button.
5.23 Set password
This test case is automated.
1. Create new command "Test" with execution string cmd /x /c "echo ${PASSWORD}" and turn on its "Display Output" property.
2. Invoke PVCS | Set Password command on the filesystem.
3. Type in "abcd" and push "OK" button.
4. Invoke Test command on the filesystem.
5.24 Other recursive commands 1. Test functionality of PVCS | Add command on "test [Current]" node.
2. Test functionality of PVCS | Lock command on "test [Current]" node.
3. Test functionality of PVCS | Unlock command on "test [Current]" node.
4. Test functionality of PVCS | History command on "test [Current]" node.

6. Additional features

Purpose: This suite tests other features like versioning explorer and VCS groups support.
Setup: No preparation required.

Test case # Description
6.1 View old revision
This test case is automated.
1. Invoke Versioning Explorer on "A_File [Current]" node.
2. "A_File.java [Current]" node must be expanded in special window and contain two revisions with proper comments.
3. Invoke Open on "1.0 Initial revision." node.
6.2 Compare two revisions
This test case is automated.
1. Invoke Diff on "1.0 Initial revision." node.
2. Exactly the same window as in "4.3 View differences" test case must get opened into editor.
3. Multiselect both revisions and invoke Diff on them again.
6.3 Add file to VCS group
This test case is part of validation suite.This test case is automated.
1. Invoke Include in VCS Group | <Default Group> on "A_File.java [Current]" node.
2. Invoke Versioning | VCS Groups from main menu.
3. Special window will show up. Expand "<Default Group>" node.
6.4 Checkin from VCS group
This test case is part of validation suite.This test case is automated.
1. Invoke PVCS | Get on "A_File.java [Current]" node in "Versioning" window.
2. Check both checkboxes and push "OK" button.
3. Switch to "Filesystems" tab of explorer, open that file, modify it and Save it.
4. Setup "Description" property of "<Default Group>" node to "Checked in from VCS group.".
5. Invoke PVCS | Put on "<Default Group>" node.
6. Make sure that "Put - A_File.java" dialog contains "Checked in from VCS group." comment and push "OK".
6.5 Verify VCS group
This test case is part of validation suite.This test case is automated.
1. Invoke Verify on "<Default Group>" node.
2. Check "Remove Files From Group" on "Not Changed" tab and push "Correct Group" button.

Any comments and suggestions please send to Jiri Kovalsky.

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems