cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

CVS Profile Test Specification for Generic VCS Module

Author: Jiri Kovalsky
Version: 1.1
Last update: Jan 29th 2004

Table of Contents


1. Introduction:

    Concurrent Versions System open source tool is one the supported version control systems in the IDE. This document describes how CVS 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. Update: currently only one test suite is updated to work with 3.6 release (the suite covers Init, Checkout, Add, Commit, Update, Add Tag commands with basic options testing)

2. Mount CVS filesystem

Purpose: This suite tests whether it is possible to mount CVS filesystem according to settings specified in mounting wizard which are defined in chosen CVS profile.
Setup: Be sure to have CVS 1.11 or higher installed on your computer. Make sure that PATH environment variable is set properly so that cvs command can be executed from command-line. Also create an account for you on some suitable password CVS server. 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 CVS 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 CVS profile from the list suitable for your operating system.
3. Verify that "CVS Server Type", "CVS Server Name", "Port", "User Name", "Repository Path", "CVS Executable", "Remove Shell", and "Password" textfields appeared in the dialog.
2.2 CVS connected
This test case is part of validation suite.This test case is automated.
1. Setup "Working Directory" to the directory you prepared e.g. D:\Tests\CVS\Work1.
2. Setup "Repository Path" to the directory you prepared e.g. D:\Tests\CVS\Repo1.
3. Click on "Use Colland-Line CVS Client" radio button.
3. Make sure that "CVS Executable" is set correctly with CVS binary.
4. Push "Finish" button.

3. Repository creation

Purpose: This suite tests whether it is possible to create CVS repository and upload source code there. 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 CVS must be completely empty.

Test case # Description
3.1 Initialize CVS repository
This test case is part of validation suite.This test case is automated.
1. Right click "CVS D:\Tests\CVS\Work1" filesystem node.
2. Choose CVS | Init popup menu item.
3.2 Initialize CVS filesystem
This test case is part of validation suite.This test case is automated.
1. Invoke CVS | Check Out on "CVS D:\Tests\CVS\Work1" filesystem node.
2. Push "OK" button in "CVS Checkout -" dialog.
3. After all files are checked out, close the output window and expand the filesystem.
3.3 Add a file
This test case is part of validation suite.This test case is automated.
1. Invoke CVS | Add on "A_File [Local]" node.
2. Setup "File Description" to "Generated A_File class.".
3. Check "Proceed With Commit If Add Succeeds" and push "OK" button.
3.4 Recursive add
This test case is part of validation suite.This test case is automated.
1. Invoke CVS | Add on "test [Local]" node.
2. Choose "Add All Local Files in Folder Contents" option.
3. Setup "File Description" to "Auto-generated testing file.".
4. Check "Proceed With Commit If Add Succeeds" and push "OK" button.
3.5 Add with keyword substitution
This test case is part of validation suite.This test case is automated.
1. Invoke CVS | Add on "another [Local]" node and push "OK".
2. Verify that "[Local]" status of "another" node has disappeared.
3. Press CTRL key and invoke CVS | Add... on "D_File [Local]" node.
4. Setup "File Description" to "Auto-generated testing file.".
5. Select "Binary (-kb)" option of "Keyword Substitution" and push "OK" button.
6. Invoke CVS | Status on "D_File [Locally Added]" node.
3.6 Commit a file
This test case is part of validation suite.This test case is automated.
1. Invoke CVS | Commit on "A_File [Locally Added]" node.
2. Setup "Enter Reason" to "Initial revision of the file." and push "OK" button.
3.7 Forced commit
This test case is part of validation suite.This test case is automated.
1. Press CTRL key and invoke CVS | Commit... on "A_File [Up-to-date; 1.1]" node.
2. Verify that "Enter Reason" is empty and set it up to "Forced revision.".
3. Check "Force to Commit" option and push "OK" button.
3.8 Multiple files commit
This test case is part of validation suite.This test case is automated.
1. Using CTRL key multiselect all the remaining [Locally Added] nodes.
2. Invoke CVS | Commit on them.
3. Setup "Enter Reason" to "Initial revision of the file." and push "OK".
3.9 Commit to branch
This test case is automated.
1. Invoke CVS | Branching And Tagging | Add Tag on "A_File [Up-to-date; 1.2]".
2. Setup "Tag Name" to "MyBranch".
3. Check "Branch Tag" option and push "OK". Close the information dialog.
4. Press CTRL key and invoke CVS | Commit... on "A_File [Up-to-date; 1.2]" node.
5. Setup "Enter Reason" to "Commit to MyBranch." and check "Force to Commit".
6. Using "Select..." button choose "MyBranch" as "Commit to Branch" and push "OK".
3.10 Run the module program
This test case is automated.
1. Switch to "Runtime" tab and expand "VCS Commands | CVS D:\Tests\CVS\Work1" nodes.
2. Verify that "Execution String" of last "Commit Command" node contains "commit -f -r MyBranch -F" string.
3. Switch back to "Filesystems" tab of explorer.
4. Press CTRL key and invoke CVS | Commit... on "A_File [Up-to-date; 1.2.2.1] (MyBranch)" node.
5. Uncheck "Run the Module Program (if any)" and push "OK".

4. Regular development

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

# Action Description
4.0.1   Status refreshing
4.1 Local refreshing
This test case is automated.
Externally outside of IDE delete D_File.java and within 15 seconds invoke CVS | Refresh on test node. Verify that D_File has [Need Update; 1.1]. CVS | Update it.  Externally outside of IDE delete D_File.java and within 15 seconds invoke CVS | Refresh on another node and assure that D_File becomes [Needs Update; 1.1]. CVS | Update it.
4.2 Recursive refreshing
This test case is automated.
Externally outside of IDE delete D_File.java and within 15 seconds invoke CVS | Refresh Recursively on test node. Verify that D_File got [Needs Update; 1.1] status. CVS | Update it.
4.0.2   Update command
4.3 Default Update working
This test case is part of validation suite.This test case is automated.
Delete C_File node. Make sure that C_File has white icon of empty sheet of paper and that it has [Needs Update; 1.1] status. Right click this node and choose CVS | Update from its popup menu. Verify that A_File became [Up-to-date; 1.1] again.
4.4 Folder options Create new directory and mount it as local CVS filesystem against the same repository. Turn on its Advanced Options property and invoke CVS | Check Out... on the root. Specify test as "Module(s)", uncheck "Process Directories Recursively" checkbox and push "OK". Invoke CVS | Update... on test node, uncheck "Create New Folders" checkbox and push "OK". Verify that no another node appears. Repeat it with this checkbox checked. another must show up. Using these two CVS filesystems similarly verify that "Prune Empty Folders" avoids creation of empty directories and "Process Directories Recursively" determines whether also subdirectories will be updated.
4.5 Sticky options
This test case is part of validation suite.This test case is automated.
Invoke CVS | Update... on another folder, type now as "Date" option and push "OK" button. Verify that both another and D_File got sticky tag like (2002.05.02.16.11.49). Invoke the same action, set 1.1 as "Revision or Tag" option and push "OK". Verify that sticky tag is (1.1) now. Finally Remove Sticky Tag on another node. This could be done by invoking CVS | Update... command and checking "Reset Sticky Tags/Dates" checkbox and pressing OK. Both sticky tags must disappear.
4.6 Match HEAD revision Right click another folder and choose CVS | Update.... Setup non-existing 1.10 revision as "Revision or Tag" option and push "OK". D_File node must disappear and another must have (1.10) sticky tag appended. Do the same with "Force a HEAD Revision Match" checkbox. D_File must show up as D_File [Up-to-date; 1.1] (1.10). Remove Sticky Tag on another directory so that there are not sticky tags appended.
4.7 To standard output
This test case is automated.
Right click another folder and choose CVS | Update.... Check "Send Updates to Standard Output" option and push "OK" button. Verify in Runtime tab of explorer that UPDATE_CMD command contains 1.1 revision in "Standard Output" tab of output window.
4.0.3   Remove command
4.8 Remove working
This test case is part of validation suite.This test case is automated.
Right click B_File [Up-to-date; 1.1] node and choose CVS | Remove item from its popup menu. You will be asked to confirm removal action. Answer "No" to make sure that B_File still remains as [Up-to-date; 1.1]. Repeat the same with "Yes" answer. Check "Proceed With Commit If Add Succeeds" checkbox and push "OK" button. Verify that B_File is [Locally Removed; -1.1] now and Commit dialog was displayed. Push "OK" buton and verify that B_File disappeared.
4.0.4   Release command
4.9 Release working
This test case is part of validation suite.This test case is automated.
Create new temp directory under test node and CVS | Add it to repository. Right click temp node and choose CVS | Release item from its popup menu. Make sure that answer "No" is the way back. Then press "Yes". Verify that temp folder disappeared.
4.0.5   Status command
4.10 Status working
This test case is part of validation suite.This test case is automated.
You need Dir1 directory in the CVS file system to perform this test cases. Add Dir2 directory and File1 file into Dir1. Add File2 file into Dir2. Create some additional branch tag on File1 and File2 files. Right-click on Dir1 node and select CVS|Status... action. CVS Status dialog should appear. Press OK. In the Editor area there should be Dir1[Status] topcomponent. It should have listed all files recursively in Dir1. Perform this steps again but check Verbose Format (Tag Info) checkbox. Now Status report should contain all existing tags for each file. Do the same steps once again but uncheck Process Directories Recursively checkbox. Now Status report should contain informations about File1 file only. Right-click on File2 file and select CVS|Status... action. Press OK. Status report should contain information about File2 file only.
4.0.6   Log command
4.11 Default Log working
This test case is part of validation suite.This test case is automated.
Right-click on Dir1 node and select CVS|Log... action. Press OK. In the Editor area there should be Log topcomponent with Log information about File1 and File2 files.
4.12 Output restriction Follow previous steps but subsequently select one of offered restriction for output. Check if output is restricted. Also test functionality of Do Not List Tags checkbox.
4.13 Specific selection Follow previous steps but fill each text field. Output should contain all headers of all files but logs of specified restrictions you have entered only.
4.0.7   History command
4.14 History working
This test case is part of validation suite.This test case is automated.
For performing this testcase, use the same files as in 4.10. Right-click on Dir1 node and select CVS|History... action. Press OK. In the Output of CVS Commands window should be listed all modules with check out description (like date, time, user, source, ...).
4.15 Options Repeat previous step but subsequently check each check box (and set (choise) appropriate paramaters). Check result in Output of VCS Commands window.
4.0.8   Annotate command
4.16 Default Annotate working
This test case is part of validation suite.This test case is automated.
You need A_File file in the CVS file system to perform this test cases. Commit at least three revisions of this file into CVS. Right-click on A_File node and select CVS|Annotate... action. Press OK. Annotate topcomponent should appear. Filename field should contain full path of A_File on local file system. Filter Revision and Filter by Author field should be set to Equals, <No Revision Selected>, <No Author Selected>. Change these fields and check selected text. Text that is accepted by Revision filter should be marked by green color. Text that is accepted by Author filter should be marked by blue color. Text that is accepted by both filters should by marked by red color. Close it.
4.17 Tag/Date selection Right-click on A_File and select CVS|Annotate... action. In the dialog fill Tag field. Press OK. Annotate dialog should appear. Listed file should be A_File tagged with tag filled in Tag field. Check its functionality similarly to previous step. Close window and do the same steps but fill Date field instead of Tag field. Annotate dialog should contain A_File that was in specified date. Check also invalid date format and invalid tag name. Error should appear in the Output of VCS Commands window.
4.18 Match HEAD revision Right-click on A_File and select CVS|Annotate... action. In the dialog fill Tag or Date field with invalid value (not format). Check Use HEAD Revision.... Press OK. Annotate dialog should appear and HEAD revision of A_File should be listed.
4.0.9   Import command
4.19 Default Import working
This test case is part of validation suite.This test case is automated.
Create new directory named "Dir" on your local file system. Create new file named "File" in "Dir". Right-click on "Dir" node and select "CVS|Import...". Import dialog should appear. Fill "Logging Message" field with "LoggingMessage". Press OK. Error dialog should appear with message "Fill Vendor tag". Fill vendor tag. Press OK. Error dialog should appear with message "Fill Release tag". Fill release tag. Press OK. Directory and file should be added (and commited) into CVS. "File" node should have "File [Up-to-date; 1.1.1.1]" name. Check "File" properties (Tags ...) using "CVS|Log" action.
4.20 Import time Created new "Dir2" directory with "File" file in it and import it using the same actions that were used in previous case but check "Use Modification Time as Import Time" checkbox. Press OK. Check import time using "CVS|Log" action.
4.21 Keyword substitution Created new "Dir3" directory with "File" binary file in it and import it using the same actions that were used in previous case but select "Binary (-kb)" item in "Keyword Substitution" combo box. Press OK. Check properties of "File" file using "CVS|Log" action.
4.22 Advanced options Create new "Dir4" directory and add it into repository. Create new "File1" and add (and commit) it into CVS too. Delete "Dir4". Create "Dir4" once again. Create new "File2" and "File3" files under it. Import "Dir4" directory into CVS using steps from previous case but fill "File To Ignore" with "File2" and uncheck "Peform Checkout After Import". Press OK. Files should have "Local" status. Delete "Dir4" directory and update parent directory. "Dir4" should contain "File1 [Up-to-date; 1.1.1.1]" and "File3 [Up-to-date; 1.1.1.1]" files.
4.0.10   Check Out command
4.23 Default Checkout working
This test case is part of validation suite.This test case is automated.
For this test case you need "Mod" module in the CVS repository. It should contains "D1", "D2" directory. "D1" should contain "File1". "File1" should have "Br" branch tag. Right-click on CVS root node and select "CVS|Checkout" action. Checkout dialog appears. Press OK. Module should be checked out from CVS. All files should have "Up-to-date" status. Delete all files from local file systems.
4.24 Module/Tag/Date selection Right-click on CVS root node and select "CVS|Checkout" action. Checkout dialog appears. Click "Select..." button and select module in "Module Selector". Press OK. Module should be checked out from CVS. All files should have "Up-to-date" status. Delete all files from local file systems. Now check out all file from CVS using same action but instead of clicking on "Select..." button, fill Brach Tag field with "Br". If you will check out only file, you could select "Branch Tag" by pressing "Select..." button next to this field and select one from listed tags. Press OK. Status of "File1" should be "Up-to-date; 1.1.0.2 Br". Delete all files once again and check out whole module. Now use "Date" field. File should be checked out only if it was commited into CVS before specified date. Delete all files.
4.25 Match HEAD revision Check out whole module but fill "Date" field with "1990/01/01" and check "Force a Head Revision Match if Tag/Date not found" checkbox. Revision of checked out files should be "HEAD". Delete all files.
4.26 Prune empty folders Check out whole module using same steps as in 4.23 and check "Prune Empty Folders" checkbox. Press OK. "D1" should be checked out but "D2" should not be. Delete all files. Repeat this actions but uncheck "Prune Empty Folders" checkbox. "D1" and "D2" should be checked out.
4.27 Keyword substitution Check out whole module using same steps as in 4.23 and select "Binary (-kb)" in "Keyword substitution" combo box. Press OK. Check status of "File1" file using "CVS|Status" action. File should have "-kb" sticky option.
4.28 Advanced Options Right-click on "File1" node and select "CVS|Checkout" action. Check "Checkout to Standard Output" checkbox. Press OK. File should checked out into "Output of CVS Commands" window. Check out files using same steps but check/uncheck "Run the Module Program (if any)" checkbox and test it on server side.
4.29 Checkout into folder Right-click on "File1" node and select "CVS|Checkout" action. Fill "Checkout into Folder" field with "abc". Press OK. File should be checked out into "abc/Module/D1" folder.

5. Additional commands

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

# Action Description
5.0.1   Export command
5.1 Default Export working
This test case is part of validation suite.This test case is automated.
Use the same files as in previous steps. Right-click on CVS root node and select "CVS|Export" action. Fill "Folder to Export to" field with destination directory (for example: /tmp). Press OK. Whole files should be exported from CVS repository into destination directory. Delete all files in destination directory.
5.2 Module/Tag/Date Export files using the same steps as in 4.10 but specify module for export using "Module(s)" field. Press OK. Check results. Destination directory should contain same structure that is in CVS repository. Delete all files. Export files using the same steps as in 4.10 but specify "Branch Tag" another then main trunk. Check results. Delete all files. Export files using the same steps as in 4.10 but specify "Date". Check results (files should correspont to files that were in CVS repository in specified date). Delete all files.
5.3 Match HEAD revision Export files using the same steps as in 4.10 but check "Force a Head Revision Match if Tag/Date not found" checkbox and fill "Date" field with "1990/01/01". Press OK. All exported files should be files from HEAD of main trunk. Delete all files.
5.4 Keyword substitution Export files using the same steps as in 4.10 but select "Binary (-kb)" item in "Keyword substitution" field. Press OK. All exported files should be checked out with "-kb" sticky options (therefore no platform character conversions should be applied). Delete all files.
5.5 Advanced options Export files using the same steps as in 4.10 but check/uncheck "Run the Module Program (if any)" and "Process Directory Recursively" checkbox. If you checked first checkbox, check if module program is started on server side. If you checked second checkbox, all files in exporting directory and its subdirectories is export. This checkbox is presented only on directory nodes.
5.0.2   Editing command
5.6 Edit working
This test case is part of validation suite.This test case is automated.
Use "Dir4" directory and "File1" file for this test case. Right-click on "Dir4" node and select "CVS|Editing|Edit" action. Check both check boxes and select "All" in combo box. Press OK.
5.7 Undo Edit working
This test case is part of validation suite.This test case is automated.
Change something in "File1" using NBEditor and save it. Right-click on "File1 [Locally modified; 1.1.1.1]" node and select "CVS|Editing|Undo Edit" action. You will be asking if you are really sure to revert changes. Press Yes. "File1" should be "Up-to-date" and no change should be presented in the file.
5.8 Editors working
This test case is part of validation suite.This test case is automated.
Right-click on "Dir4" node and select "CVS|Editing|Editors" action. In the "Output of CVS Command" window there should be listed all files in "Dir4" directory.
5.0.3   Watches command
5.9 Watch On/Off working For performing this testcase, use the same files as in 4.10. Right-click on "Dir1" node and select "CVS|Watches|Watch On" action. Information dialog with message "The file Dir1 is being watched." should appear. Press OK. For performing this testcase, use the same files as in 4.10. Right-click on "Dir1" node and select "CVS|Watches|Watch Off" action. Information dialog with message "The file Dir1 is has stopped being watched." should appear. Press OK.
5.10 Set Watch/Watchers working
This test case is part of validation suite.This test case is automated.
Right-click on "Dir2" node and select "CVS|Watches|Set Watch ..." action. Dialog should appear. Check all checkboxes. Press OK. Right-click on "Dir1" node and select "CVS|Watches|Watchers" action. In the "Output of CVS Command" window there should be line with "Dir1/Dir2/File2 user edit unedit commit" only. Right-click on "Dir1" node and select "CVS|Watches|Set Watch..." action. Dialog should appear. Uncheck all checkboxes. Select "Set Watch Recursively" radio button. Press OK. Right-click on "Dir1" node and select "CVS|Watches|Watchers" action. In the "Output of CVS Command" window there should not be line with "Dir1/Dir2/File2 user edit unedit commit".
5.0.4   Locking command
5.11 Lock working
This test case is part of validation suite.
For performing this testcase, use the same files as in 4.10. Right-click on "File1" node and select "CVS|Locking|Lock" action. Try to change this file using NBEditor - it should disallow to change this file. Modify "File1" file using external tool and try to commit changes into CVS. In the Output Window there should be error messages saying that file is locked.
5.12 Unlock working
This test case is part of validation suite.
Right-click on "File1" node and select "CVS|Locking|Unlock" action. Commit changes into CVS. In the Output Window there should not be any additional error messages.
5.0.5   Branching/Tagging commands
5.13 Add Tag working
This test case is part of validation suite.This test case is automated.
From this test case, use file structure defined for test case 3.1. Right click D_File [Up-to-date; 1.1] node and choose CVS | Branching And Tagging | Add Tag command. Setup MyBranch as Tag Name, check Branch Tag checkbox and select 1.1 revision using "Select..." button to On Revision textfield. Push "OK" button and using CVS | Log command verify that the branch was indeed created.
5.14 Remove Sticky Tag working
This test case is part of validation suite.This test case is automated.
Using CVS | Update... command checkout MyBranch branch. Open the file, change some line and CVS | Commit it as revision 1.1.2.1. Right click D_File [Up-to-date; 1.1.2.1] (MyBranch) node and invoke CVS | Update action. Check "Reset Sticky Tags/Dates" checkbox and press OK. Make sure that (MyBranch) sticky tag disappeared and the file is in 1.1 revision.
5.15 Merge working Right click D_File [Up-to-date; 1.1] node and choose CVS | Update action from its popup menu. Check "Merge With Differences Between Two Revisions" check. type HEAD into "Revision 1" and 1.1.0.2 MyBranch into "Revision 2". Push "OK" button and verify that your file is [Locally Modified; 1.1] and contains changes made in MyBranch branch.
5.16 Remove Tag working Right click D_File [Locally Modified; 1.1] node and choose CVS | Branching And Tagging | Remove Tag action from its popup menu. Using "Select..." buttons select 1.1.0.2 MyBranch tag and click "OK" button. Using CVS | Log command verify that MyBranch tag name does not exist any more.
5.17 View Branches working
This test case is part of validation suite.
Right click D_File [Locally Modified; 1.1] node and choose CVS | Branching And Tagging | View Branches action from its popup menu. Verify that there are three boxes displayed: 1.1, 1.1.2 and 1.1.2.1. Left click 1.1 box, right click 1.1.2.1 box and push "Diff" button. The diff window must show up highlighting your changes.
5.0.6   Diff commands
5.18 Default Diff Graphical working
This test case is part of validation suite.This test case is automated.
Right click D_File [Locally Modified; 1.1] node and choose CVS | Diff Graphical action from its popup menu. Verify that removed lines are highlighted as red, new lines have green colour and modified should be blue. Make sure that both buttons above text area move view area along the differences forward and backward. Also verify that line numbers are not broken and show correct values.
5.19 Default Diff Textual working
This test case is part of validation suite.This test case is automated.
Right click D_File [Locally Modified; 1.1] node and choose CVS | Diff Textual action from its popup menu. Verify that Output of VCS Commands [Diff Textual] window was opened and contains correct textual result of cvs diff command.
5.20 Tag/Date selection Right click D_File [Locally Modified; 1.1] node, hold down CTRL key and choose CVS | Diff Graphical... action from its popup menu. Using "Select..." buttons choose 1.1.2.1 as "Revision or Tag 1" and HEAD as "Revision or Tag 2" option. Push "OK" button. Verify that shown differences are correct. Repeat the same action but set tomorrow as "Date 1" option instead of setting "Revision or Tag 2" option. Verify that result is correct.
5.21 Keyword substitution Add // $Revision: 1.2 $ line to the source of D_File. CVS | Commit the file twice. Use "Force Commit" option in the second case. Right click D_File [Up-to-date; 1.3] node, hold down CTRL key and choose CVS | Diff Graphical... action from its popup menu. Select 1.2 as "Revision or Tag 1", 1.2 as "Revision or Tag 2" and choose -kb option from "Keyword Substitution" setting. Push "OK" button and verify that the differences are correct. Left pane must contain blue // $Revision: 1.2 $ line and right pane must contain blue // $Revision: 1.2 $ line.
5.22 Ignore options Delete the space between some two words in your D_File and save it. Right click D_File [Locally Modified; 1.3] node, hold down CTRL key and choose CVS | Diff Graphical... action from its popup menu. Check "Ignore Changes In The Amount Of White Spaces" checkbox and push "OK". Information dialog about no differences must be shown. Now change some word to uppercase at another line and save the file. Invoke the CVS | Diff Graphical... again and check "Ignore Case" option. Again no differences must be found. Now add one more space somewhere in your code and save it. Verify that "Ignore Changes In The Amount Of White Spaces" option checked will not show any differences again.
5.23 Format options Right click D_File [Locally Modified; 1.3] node, hold down CTRL key and choose CVS | Diff Textual... action from its popup menu. Select "Context Format" option and push "OK" button. Verify that output will contain some source context of each difference. Do the same with "Unidiff Format" and verify that diff result has unidiff format. It means differences in @@ pairs and source highlighted by +- characters.
5.0.7   Patch command
5.24 Default Patch working
This test case is part of validation suite.This test case is automated.
CVS | Commit your D_File to create revision 1.4 Right click D_File [Up-to-date; 1.4] node and choose CVS | Patch action from its popup menu. Push "OK" button. Verify that differences between revisions 1.3 and 1.4 were displayed into output window. Verify that if you right click in the result area you are able to save the output to file according to what you select.
5.25 Format selection Right click D_File [Up-to-date; 1.4] node and choose CVS | Patch action from its popup menu. Select "Unidiff Format" and verify that patch result has unidiff format. Right click test node and choose CVS | Patch action from its popup menu. Select "Short patch - one line per file" option, uncheck "Top two diffs" checkbox, select 1.1 as "Revision or Tag", 1.2 as "Revision or Tag 2" option and push "OK" button. Verify that appropriate number of lines were printed into output window.
5.26 Tag/Date selection Right click D_File [Up-to-date; 1.4] node and choose CVS | Patch action from its popup menu. Uncheck "Top two diffs" checkbox, select last week as "Date", now as "Date 2" option and push "OK" button. Verify that correct result was printed and execution string is correct.
5.27 Match HEAD revision Right click D_File [Up-to-date; 1.4] node and choose CVS | Patch action from its popup menu. Uncheck "Top two diffs" checkbox, select 1.1 as "Revision or Tag", 1.10 as "Revision or Tag 2" option, check "Force a Head Revision Match if Tag/Date not found" checkbox and push "OK" button. Verify that correct result was printed and execution string is correct.
5.0.8   Login / Logout command
5.28 Logout working Mount CVS filesystem connected to some password server. Right click some file and choose CVS | Refresh action from its popup menu. Command must succeed. Now invoke CVS | Logout command. It must also succeed. Now run CVS | Refresh again and it must fail.
5.29 Login working
This test case is automated.
Right click some file and choose CVS | Login action from its popup menu. Write correct password and push "Login" button. There will be "Connecting to the server ..." status message displayed for some time and then the dialog must disappear. Run CVS | Refresh on some file again and it must succeed.

6. Additional features

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

# Action Description
6.0.1   Global command options
6.1 Quiet mode
This test case is automated.
Right click test directory, hold down CTRL key and choose CVS | Status... command. Switch to "Global Options" tab, select "Be Somewhat Quiet" choice from Quietness list and push "OK" button. Verify that Standard Error tab contains no output. Do the same with "Be Really Quiet" option and verify that Standard Output tab does not contain any sticky information of files.
6.2 Preview option
This test case is automated.
Right click D_File [Up-to-date; 1.4] node, hold down CTRL key and choose CVS | Commit... command. Check "Force to Commit" option, switch to "Global Options" tab, check "Do Not Make Changes (Preview)" option and push "OK" button. Verify that D_File still remains [Up-to-date; 1.4].
6.3 Debugging option
This test case is automated.
Right click D_File [Up-to-date; 1.4] node, hold down CTRL key and choose CVS | Commit... command. Check "Force to Commit" option, switch to "Global Options" tab, check "Do Not Make Changes (Preview)" and "Show Trace of Command Execution" option and push "OK" button. Verify that there is a line in Standard Error output tab of COMMIT_CMD command starting with -> ParseInfo( string.
6.4 No history option
This test case is automated.
Right click D_File [Up-to-date; 1.4] node, hold down CTRL key and choose CVS | Commit... command. Check "Force to Commit" option, switch to "Global Options" tab, check "Disable History Logging" option and push "OK" button. Verify that D_File changed to [Up-to-date; 1.5] and at the same time that CVSROOT/history file in CVS repository does not contain any record about this creation of revision 1.5.
6.5 Read-only checkout option
This test case is automated.
Delete D_File so that it gets status [Needs Update; 1.5]. Right click this node, hold down CTRL key and choose CVS | Check Out... command. Switch to "Global Options" tab, check "Check Out Files as Read Only" option and push "OK" button. Verify that D_File.java was created as read-only.
6.6 Ignore ~/.cvsrc option Create .cvsrc file in your home directory containing following line commit -m "This is auto message.". Right click D_File [Up-to-date; 1.5] node, hold down CTRL key and choose CVS | Commit... command. Check "Force to Commit" option, switch to "Global Options" tab, check "Do not use the ~/.cvsrc file" option and push "OK" button. Verify that D_File changed to [Up-to-date; 1.6].
6.7 Compression level
This test case is automated.
Right click D_File [Up-to-date; 1.6] node, hold down CTRL key and choose CVS | Check Out... command. Switch to "Global Options" tab, select 1 of "Compression level" and push "OK" button. Verify in Runtime tab that execution string of CHECKOUT_COMMAND contains -z 1 checkout string.
6.0.2   Others
6.8 Recursive commands Test all possible commands on folders too in order to be sure they work also recursively.
6.9 Serialization Restart IDE and check that all CVS filesystems were deserialized correctly and everything works as in the last session. Try also to import project with CVS filesystem that was created in previous build using Projects | Import Project menu item of the main window.
6.10 Remove CVS filesystem
This test case is part of validation suite.This test case is automated.
Remove all filesystems mounted into explorer and make sure that no error occured.

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