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.
- this icon represents a test case that is part of validation suite and is used during Q-build
testing.
- this icon represents a test case that was automated and is run daily in test runtime.
| Test case # |
Description |
4.1 Checkout a file
  |
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.
|
RESULT: After a while the status of file must change to "A_File [Current; 1.1] (...)". Its editor tab must
not indicate the file as (read-only). |
4.2 Modify the file
  |
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.
|
RESULT: The file must change to "A_File [Locally Modified; 1.1] (...)". |
4.3 View differences
  |
1. Invoke PVCS | Diff on "A_File [Locally Modified; 1.1] (...)" node.
|
| RESULT: All three differences must be highlighted in a special window with both versions of the file. New line is green,
removed line is red and modified one is blue. |
4.4 Checkin the file
  |
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.
|
RESULT: The file must become read-only and "A_File [Current]". |
4.5 Inspect the file
  |
1. Right click "A_File [Current]" node.
2. Choose PVCS | History action from the popup menu.
|
| RESULT: Output window must contain information about the file. Make sure that both revisions of A_File.java are mentioned
there with appropriate comments. |
4.6 Get a missing file
  |
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".
|
RESULT: Make sure the files were checked out and recognized. It must have "A_File [Current; 1.1] (...)" status
and become read-only. |
4.7 Give up a lock on file
  |
1. Right click "Formular [Current; 1.1] (...)" node.
2. Choose PVCS | Unlock popup menu action.
|
RESULT: Make sure that the node has changed to "Formular [Current]". |
4.8 Remove a revision
  |
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.
|
RESULT: Make sure that the node has changed to "D_File [Locally Modified]". |
4.9 Create own revision
 |
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.
|
RESULT: Make sure that the node has changed to "D_File [Current]". |
4.10 Get specific revision
 |
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.
|
RESULT: Make sure that the node is "[Current]" and read-only. Also check that the modification time is
set to current time. |
4.11 Lock a file
  |
1. Right click "D_File [Current]" node.
2. Choose PVCS | Lock popup menu action.
|
RESULT: Make sure that the node has changed to "D_File [Current; 2.1] (...)". |
4.12 Create a branch
  |
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.
|
RESULT: Make sure that the node has changed to "D_File [Current; 2.0.1.1] (...)". |
4.13 View development tree
  |
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.
|
RESULT: New subnode "2.0.1.0 Starting new branch." must show up. |
| Test case # |
Description |
5.1 Unlock specific revision
 |
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.
|
RESULT: The file must change to "D_File [Current]". |
5.2 Lock specific revision
 |
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.
|
RESULT: The file must change to "D_File [Current; 2.1] (...)". |
5.3 Unlock by user
 |
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.
|
RESULT: The file must change to "D_File [Current]". |
5.4 Lock by version label
 |
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.
|
RESULT: The file must change to "Formular [Current; 1.1] (...)". |
5.5 Unlock trunk revision
 |
1. Hold CTRL key and right click "Formular [Current; 1.1] (...)" node.
2. Choose PVCS | Unlock... popup menu action and push "OK" button.
|
RESULT: The file must change back to "Formular [Current]". |
5.6 Local refreshing
 |
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.
|
RESULT: The file must immediately change to "D_File.java [Missing]". |
5.7 Recursive checkout
 |
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.
|
RESULT: Once "Retrieving..." dialog has finished its work, the node must immediately change to
"D_File [Current]". |
5.8 Recursive refreshing
 |
1. Externally delete D_File.java file.
2. Within 15 seconds invoke PVCS | Refresh Recursively on "test [Current]" node.
|
RESULT: Once "Retrieving..." dialog has finished its work, the file must immediately change to
"D_File.java [Missing]". |
5.9 Recursive checkout by date
 |
1. Press CTRL key and invoke PVCS | Get... on test [Current] node.
2. Check "Check out by date" and push "OK" button.
|
RESULT: Once "Retrieving..." dialog has finished its work, the node must immediately change to
"D_File [Current]". |
5.10 Checkout newer revision
 |
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.
|
RESULT: The node must change to "D_File [Current]". |
5.11 Checkout older revision
 |
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.
|
RESULT: The node must change to "D_File [Current]". |
5.12 Diff specific revisions
 |
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.
|
RESULT: Exactly the same window as in "4.3 View differences" test case must get opened into editor. |
5.13 Diff by version labels
 |
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.
|
RESULT: "No differences were found in D_File.java" message dialog must show up. |
5.14 Diff without whitespaces
 |
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.
|
| RESULT: Diff window must highlight only one line with the modified word. |
5.15 Generate delta file
 |
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.
|
RESULT: Status line must say "Command Diff finished." Make sure that "D:\Tests\PVCS\Repo1\delta.txt"
file has been really created. |
5.16 Apply delta file
 |
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.
|
RESULT: Status line must say "Command Apply Delta finished." and the file contains changes made in test case
"5.13 Diff without whitespaces". |
5.17 Create 3 more revisions
 |
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".
|
RESULT: The node must change to "B_File [Current; 1.4] (...)". |
5.18 Merge by revisions
 |
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.
|
RESULT: The node must change to "B_File [Locally Modified; 1.4] (...)". Make sure the file contains all changes
from those three revisions. |
5.19 Merge by version labels
 |
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.
|
RESULT: Make sure that "D:\Tests\PVCS\Repo1\B_File.merged" file contains all changes from those three revisions. |
5.20 View selected information
 |
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.
|
| RESULT: Make sure that only information about revision 1.2 was printed without standard header. |
5.21 Remove particular revision
 |
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.
|
| RESULT: Make sure that PVCS | History command does not give any information
about revision 1.2 any more. |
5.22 Remove particular revision
 |
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.
|
| RESULT: Make sure that PVCS | History command does not give any information
about revision 1.1 any more. |
5.23 Set password
 |
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.
|
RESULT: Verify that there is "abcd" printed in the "Standard Output" tab of output window. |
| 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.
|
RESULT: Make sure that these commands works fine according to how "Proceed all subdirectories" checkbox is set. |
| Test case # |
Description |
6.1 View old revision
 |
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.
|
| RESULT: The initial revision of A_File must get opened into editor. |
6.2 Compare two revisions
 |
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.
|
| RESULT: The same window with highlighted differences must open again. |
6.3 Add file to VCS group
  |
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.
|
RESULT: There must be "A_File [Current]" node under that group. |
6.4 Checkin from VCS group
  |
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".
|
RESULT: A_File node must change to [Current] state and there must be "1.2 Checked in from VCS
group." node under "A_File.java [Current]" node in "Versioning" window. |
6.5 Verify VCS group
  |
1. Invoke Verify on "<Default Group>" node.
2. Check "Remove Files From Group" on "Not Changed" tab and push "Correct Group" button.
|
RESULT: The "A_File [Current]" node must disappear from "<Default Group>" group. |