TS 73 CVS

NetBeans CVS Support Test Specification for

Based on: TS_70_CVS
Changes in this version: Minor changes for 7.3
Introduction: Concurrent Versions System open source tool is one of the supported version control systems in the IDE. This document describes how CVS profile for NetBeans CVS Support module should be tested in order to know whether all of its functionality work correctly.

Contents

Test suite: Setting up CVSRoot

Purpose: This suite tests whether it is possible to setup valid CVS repository using different types of connection to CVS server.
Setup: Install CVS plugin through Tools -> Plugins menu.

  1. CVS pserver
    1. Invoke Team | CVS | Checkout... action from main menu.
      "Checkout"
      dialog shows up.
    2. Switch to CVS Root field and set it to e.g.
      ":pserver:anonymous@netcatcvstribe.cvs.sourceforge.net:/cvsroot/netcatcvstribe"
    3. After setting up
      ":pserver:"
      connection type there should be visible {"CVS Root"}, "Password" and "Proxy Configuration..." components.
    4. Setup password and verify functionality of
      "Proxy Configuration"
      dialog.
    • EXPECTED RESULT: Press Next button. Next dialog of
      "Checkout"
      should show up. Verify all {"Browse..."} buttons in second step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.
  2. CVS ext
    1. Invoke Team | CVS | Checkout... action from main menu.
      "Checkout"
      dialog shows up.
    2. Switch to CVS Root field and set it to e.g.
      ":ext:yourusername@netcatcvstribe.cvs.sourceforge.net:/cvsroot/netcatcvstribe"
    3. After setting up
      ":ext:"
      connection type there should be visible {"CVS Root"} text field, "Use Internal SSH" and "Use External Shell" radiobuttons, "Remember Password" checkbox, "Proxy Configuration..." button, "Password", "Shell Command" text field components.
    4. Select
      "Use Internal SSH"
      radiobutton.
    5. Select
      "Use External Shell"
      radiobutton.
    6. Select
      "Use Internal SSH"
      radiobutton again.
    7. Setup valid password.
    • EXPECTED RESULT: Press Next button. Next dialog of
      "Checkout"
      should show up. Verify all {"Browse..."} buttons in second step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.
  3. CVS local
    1. Invoke Team | CVS | Checkout... action from main menu.
      "Checkout"
      dialog shows up.
    2. Switch to CVS Root field and set it to e.g.
      ":local:/path_repository"
    3. After setting up
      ":local:"
      connection type there should be visible {"CVS Root"} component.
    • EXPECTED RESULT: Press Next button. Next dialog of
      "Checkout"
      should show up. Verify all {"Browse"} buttons in second step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.
  4. CVS fork
    1. Invoke Team | CVS | Checkout... action from main menu.
      "Checkout"
      dialog shows up.
    2. Switch to CVS Root field and set it to e.g.
      ":fork:/path_repository"
    3. After setting up
      ":fork:"
      connection type there should be visible {"CVS Root"} component.
    • EXPECTED RESULT: Press Next button. Next dialog of
      "Checkout"
      should show up. Verify all {"Browse..."} buttons in second step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.
  5. Change CVS root
    1. Select project root and invoke Team | Change CVS Root... from main menu.
    2. New window with two noneditable text fields labeled
      "Working Copy"
      and {"Current CVS Root"} and one editable text field labeled "New CVS Root" appears.
    3. Either edit the last mentioned text field manually or Push the
      "Edit"
      button and setup a new CVS root and push {"Change"} button.
    • EXPECTED RESULT: "CVS Root Rewritten Successfully" message appears bottom left in the IDE. Since now the project has a new CVS Root (May be useful when need to login to repository as a different user or using different access method)


Test suite: Importing new project

Purpose: The goal of this suite is to create new project and upload it to CVS repository.
Setup: No setup is necessary.

  1. Project import
    1. Invoke
      "File | New Project..."
      from main menu.
    2. "New Project"
      window shows up. Choose e.g {"Java | Java Application"} and push "Next" button.
    3. Setup name of the project, project location as desired and push
      "Finish"
      button.
    4. Switch to
      "Projects"
      view and select the root of the project.
    5. Invoke Versioning | Import into CVS Repository... popup menu action.
    6. "Import Project Options"
      dialogs shows up.
    7. Setup
      "CVS Root"
      as desired and all necessary fields for chosen access method and push {"Next"} button.
    8. Enter some comment into
      "Import Message"
      field, check {"Checkout After Import"} checkbox (if not already checked) and push "Finish" button.
    • EXPECTED RESULT: In
      "Output"
      tab verify whether {"Import"} and "Check out" command finished successfully. Now CVS context commands on this project root in "Projects" view shouldn't contain "Import into Repository" action.


Test suite: Standard development of project

Purpose: This suite tests the most often used commands of typical CVS user.
Setup: No setup is necessary except steps from previous test suite.

  1. "CVS"
    tab
    1. Invoke Window | Versioning | CVS from main menu.
    • EXPECTED RESULT: Verify that in
      "CVS"
      tab is opened.
  2. Update action
    1. Switch to
      "Files"
      view.
    2. Invoke Window | Output | Versioning Output from main menu.
      "Versioning Output"
      should be opened.
    3. Invoke CVS | Update popup menu action on project root.
    • EXPECTED RESULT: Verify that in
      "Output"
      tab there is message {"IDE: [DateTime] Updating [Project name] finished"}. <No Files Were Changed By The Update> should be displayed in "Versioning Output" or list of all files updated.
  3. File modifying
    1. Select e.g.
      "Main.java"
      file, modify it.
      NOTE: In NetBeans 7, the default name for main class is taken from project's name (for example, if the project's name is JavaAplication1, the main class will be named "JavaApplication1.java") So please identify the main class in your project, and use it when this spec refers to "Main.java" file.
    2. Insert brand-new line somewhere into the file.
    3. Delete some other line but not directly next to the new line.
    4. Modify another line but not directly next to the lines mentioned above and Save the file.
    • EXPECTED RESULT: The file
      "Main.java"
      must change its foreground color to blue.
  4. File differences
    1. Switch off View | Show Diff Sidebar option from main menu.
    2. Switch on View | Show Diff Sidebar option from main menu. Diff column should be shown in the left of side of editor.
    3. Select this file.
    4. Invoke Team | Diff action from main menu.
    • EXPECTED 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. Verify UP and DOWN arrows that should navigate among differences.
  5. Files differences
    1. Create new package
      "xx.yy"
      in this project.
    2. Create new
      "Java Class"
      {"NewClass"} in package "xx.yy".
    3. Select project root and invoke Team | Show Changes from main menu.
    4. Files should be listed in
      "CVS"
      tab - {"Main.java"} and "NewClass".
    5. Select the root of the project and invoke CVS | Diff popup menu action.
    • EXPECTED RESULT: Special window is displayed.
      "Main.java"
      and {"NewClass.java"} should be contained in a table. Verify functionality of "UP" and "DOWN" arrows. (Arrow navigates among all differences on processed files). Verify functionality of "Diff" icon in "CVS" tab - same result as for context command.
  6. CVS tab action
    1. Select the root of the project and invoke CVS | Show Changes popup menu action.
    2. There should be
      "All"
      , {"Local"} and "Remote" toggle buttons and icons with tooltips "Refresh Status", "Diff All", "Update All" and "Commit All".
    • EXPECTED RESULT: Verify the functionality of
      "CVS"
      tab actions. Setting {"Local"} - displays locally modified files only, "Remote" - displays remotely modified files only and "All" - displays both locally and remotely modified files. "Refresh Status" - refreshes the status of the selected files and folders. Files displayed in the Versioning window can be refreshed to reflect any changes that may have been made externally. "Diff All" - opens the Diff Viewer providing you with a side-by-side comparison of your local copies and the versions maintained in the repository. "Update All" - updates all selected files from the repository. "Commit All" - enables you to commit local changes to the repository.
  7. Open file from
    "CVS"
    tab
    1. Close
      "NewClass.java"
      from editor.
    2. Switch to
      "CVS"
      tab and invoke Open popup menu action on {"NewClass.java"} record.
    • EXPECTED RESULT: Verify that file is opened into editor.
  8. Commit file
    • Setup: Externally create file named "Template" and place it in the {project_dir}/src/{project_name}/CVS with text "Load from Template test" as its content.
    1. Switch to
      "CVS"
      tab.
    2. Push
      "Commit All"
      icon.
    3. "Commit"
      dialog shows up. It should contain two files: {"Main.java"} and "NewClass.java". Click on "Load Template" button (folder icon above the text field). Text from file "Template" created before beginning of this test case should appear as the commit text.
    4. Push the
      "Commit"
      button. Note that next time you will invoke the {"Commit dialog"} again, the commit message will be prefilled with the last one used. You can choose from list of previously entered commit messages by clicking the "Recent Messages" button (sheet icon above the text field).
    • EXPECTED RESULT: Verify that blue badges disappeared. Files should disappear from
      "CVS"
      tab too.
  9. Creation of patch
    1. Modify
      "Main.java"
      file and save it.
    2. Modify
      "NewClass.java"
      file and save it.
    3. Select project root and invoke Team | Export Diff Patch... from main menu. Select desired output file for patch and confirm the dialog.
    • EXPECTED RESULT: Patch should be created in your chosen file. If this action is invoked on context that has no modified files, information dialog should be displayed only.
  10. Applying patch
    1. Switch to
      "Files"
      view and select project root.
    2. Invoke Team | Revert Modifactions from main menu or CVS | Revert Modifactions from popup menu.
    3. Make sure that all modified files are "uptodated" now.
    4. Select project root and invoke Tools | Apply Diff Patch... popup menu action.
    5. Locate and select previously exported patch and press the "Patch" button.
    6. Answer
      "Yes"
      in question dialog to confirm watching differences.
    • EXPECTED RESULT: Verify that new tabs were opened into the editor for all patched files. Verify results generated by
      "Command-line Diff"
      and {"Built-in Diff"} engines. Verify results displayed by "Graphical Diff Viewer" and "Textual Diff Viewer" visualizers.
  11. Create conflict
    1. Invoke CVS | Revert Modifactions from project root popup menu and confirm overwrite
    2. Modify
      "Main.java"
      file and save it.
    3. Invoke Team | Checkout... from main menu and setup the same parameters as for previous Suites but with different
      "Local Folder"
      location.
    4. Open the same project, modify
      "Main.java"
      class at the same line as in previous test suite, and commit it.
    5. Return to previous project, select the project root and invoke CVS | Update Project with Dependencies popup menu action.
    • EXPECTED RESULT:
      "Warning"
      dialog about local conflicts should be displayed. Path to {"Main.java"} file should be indicated with red badges. This file should change its color to red too. Verify functionality of All, Local and Remote buttons in "CVS" tab.
  12. Resolve conflict
    1. Invoke CVS | Resolve conflicts... popup menu action on
      "Main.java"
      node.
    2. Merging tool must get opened in editor area highlighting the line with conflict. Left pane should read
      "Local Working File"
      , right pane {"Remote File"} and bottom should read "Result after merge".
    3. Select left modification (the working one) and push
      "Accept"
      button above its pane.
    4. Make sure that colors changed to blue or green and
      "Unresolved:"
      in top of the component says {"0 conflicts"}. Push "OK" button and confirm your decision.
    • EXPECTED RESULT: The data node should change back to
      "Main.java"
      and should have appropriate badge (blue badges for path). In addition, the merge tool must be closed.
  13. Delete file
    1. Switch to
      "Projects"
      view and expand {"xx.yy"} package node.
    2. Invoke Delete popup menu action on
      "NewClass.java"
      file node.
    3. Confirm your decision by clicking Yes in follow-up question dialog.
    4. File should disappear from all explorer views. It should appear in
      "CVS"
      tab.
    5. Select
      "NewClass.java"
      in {"CVS"} tab and invoke Revert Delete popup menu action.
    6. Confirm your decision by clicking Yes in follow-up question dialog.
    7. File should appear in all of explorer views.
    8. Invoke Delete popup menu action on
      "NewClass.java"
      file node again.
    9. Confirm your decision by clicking Yes in follow-up question dialog.
    10. Select
      "NewClass.java"
      in {"CVS"} tab and invoke Commit... popup menu action.
    11. "Commit"
      dialog shows up. Fill commit message and push {"Commit"}.
    • EXPECTED RESULT: File
      "NewClass.java"
      should disappear from all explorer views, and from {"CVS"} tab.
  14. Delete locally new file
    1. Switch to
      "Projects"
      view, invoke CVS | Show Changes and expand {"xx.yy"} package node.
    2. Create new java class
      "NewClass1.java"
      in the package {"xx.yy"}.
    3. Invoke Delete popup menu action from within
      "CVS"
      tab on {"NewClass1.java"} file node.
    4. Confirm your decision by clicking OK in follow-up question dialog.
    • EXPECTED RESULT: File
      "NewClass1.java"
      should disappear from all explorer views, and from {"CVS"} tab.
  15. Project Deletion
    1. Create new project.
    2. Add this project into the source control. Select its root and invoke Team | Show Changes from main menu.
    3. Switch to
      "Projects"
      view, select project node and invoke Delete popup menu action. (Confirm dialog and delete also sources)
    • EXPECTED RESULT: All files should appear in
      "CVS"
      tab. These files should be in {"Locally Deleted"} status. Select all files in "Locally Deleted" state and invoke Revert Delete popup action from "CVS"tab. After successful action it should be allowed to open this project again.
  16. Exclude file from commit
    1. Create
      "JFrame"
      in {"xx.yy"} package.
    2. Create new Java Class
      "NewClass.java"
      in {"xx.yy"} package.
    3. Invoke CVS | Commit... on {"xx.yy"} package in
      "Projects"
      view.
    4. "Commit"
      dialog should be displayed with "NewJFrame.java", "NewJFrame.form" and "NewClass.java" files. Change the {"Commit Action"} to "Exclude from Commit" for "NewJFrame.java" and "NewJFrame.form" files using popup menu. Push "Commit" button.
    • EXPECTED RESULT: Both files have to be excluded from commit with no change of their statuses. Include in Commit action should be accessible in popup menu actions in
      "CVS"
      tab and performing Include in Commit must return file to {"committing"} status.
  17. Exclude from commit
    • Setup: Modify at least two files in the {project_name} package and save them.
    1. Select the {project_name} package in the
      "project"
      view and invoke CVS | Exclude from Commit from its context menu. The blue badges in the {"Project"} view should disappear.
    2. Open the
      "CVS"
      tab. The files modified in setup of this test case should be listed there, but their names should be strike-through as an indication they are excluded from commit.
    3. Push
      "Commit All"
      icon. {"Commit dialog"} shows up.
    • EXPECTED RESULT: The
      "Commit"
      button should be disabled as all of modified files are excluded from commit. Note that you can change action in the {"Commit Action"} column to "Commit". This should enable the "Commit" button again.
    • Select the {project_name} package in the
      "project"
      view and invoke CVS | Exclude from Commit from its context menu again in order to have the project included from commit again.
  18. Ignore file
    1. Create new
      "Java class"
      ("NewClass2") into {"xx.yy"} package.
    2. Select this java file and invoke CVS | Ignore .
    • EXPECTED RESULT:
      ".cvsignore"
      should be displayed in {"CVS"} tab. "NewClass2.java" should change its color to gray, path to ".cvsignore" file should be indicated by a green badge in the CVS tab.
  19. Working with ignored file
    1. Switch to
      "CVS"
      tab, select {".cvsignore"} file and invoke Commit popup menu action on it.
    2. "Commit"
      dialog containing only {".cvsignore"} file shows up.
    3. Enter some commit message and push
      "Commit"
      button.
    4. ".cvsignore"
      file should disappear from {"CVS"} tab, so badges indicating path for ".cvsignore" should disappear.
    5. Open
      "NewClass2.java"
      into the editor, modify this file and save the changes.
    6. Switch to
      "Projects"
      view, select project root and invoke Team | Show Changes from main menu.
    • EXPECTED RESULT: Verify that there no badges indicating path to
      "NewClass2.java"
      file. Color of file name should be gray. This should NOT be listed in {"CVS"} tab.
  20. Unignore file
    1. Select
      "NewClass2.java"
      in {"Projects"} view and invoke CVS | Unignore popup menu action. Verify that this action is also accessible from main menu.
    2. "CVS"
      tab should contain {".cvsingnore (Locally Deleted)"} and "NewClass2.java (Locally New)" files. Path to this should be indicated with green badges.
    3. Select project root and invoke Team | Commit... action from main menu.
    4. "Commit"
      dialog shows up, enter some commit message and push {"Commit"} button.
    • EXPECTED RESULT: Both files should disappear from
      "CVS"
      tab. Font color of {"NewClass2.java"} file is black now.
  21. Reverting modifications
    1. Open
      "NewClass2.java"
      to editor.
    2. Insert brand-new line somewhere into the file.
    3. Delete some other line but not directly next to the new line.
    4. Modify another line but not directly next to the lines mentioned above and Save the file. File name color should change to blue, verify the path indicating blue badges.
    5. Select
      "NewClass2.java"
      and invoke Team | Revert Modifactions from main menu or CVS | Revert Modifactions from popup menu.
    6. Confirm your decision by clicking Yes in follow-up question dialog.
    • EXPECTED RESULT: All changes should be reverted. Indicating badges should disappear.
      "NewClass2.java"
      file should not be listed in {"CVS"} tab.
  22. Status and Labels
    1. Select View | Show Versioning Labels value from main menu.
    2. Modified files should have
      "[Modified]"
      status information in explorers.
    3. Files in conflict should have
      "[Conflict]"
      status information in explorers.
    4. Files in branch should have also information with branch name in explorer. ([[[Modified;NewBranch | [Modified; NewBranch]])
    • EXPECTED RESULT: Verify this functionality in
      "Projects"
      , {"Files"} and "Favorites" view. There are no status information for "uptodated" files and no labels for files in "Trunk".
  23. Actions in Projects view
    1. Add new package
      "aa"
      and new {"Interface.java"}
    2. Add new package
      "aa.bb"
      and new {"NewClass.java"}
    3. Invoke CVS | Commit on
      "aa"
      package.
    4. Commit dialog shows up. There should be only
      "Interface.java"
      listed in commit dialog. Push {"Commit"} button.
    5. Make sure that only
      "aa"
      and file in was added. Have a look in tab for cvsroot in {"Output"} window.
    • EXPECTED RESULT: CVS actions invoked on packages
      "Projects"
      view shouldn't be performed recursively. Make sure that Update, Diff, Tag, Branch, Switch to Branch, Merge Changes From Branch, Export Diff Patch and Revert Modifications work correctly. In case of branching actions verify whether new files and folders are added/removed properly.
  24. Refactoring
    1. Select
      "Main.java"
      node and invoke Refactor | Rename... popup menu action on it.
    2. Enter new name for it and push
      "Refactor"
      button.
    3. File with new name should be listed in
      "CVS"
      view as {"[LocallyNew]"} and old one "[Locally Deleted]".
    4. Commit both files.
    5. Switch to
      "Files"
      view, select package {"xx"} and invoke Refactor | Rename... popup menu action on it.
    6. Enter new name
      "yz"
      for it and push {"Next"} button. Special window shows up, push "Refactor".
    7. Make sure that all refactored nodes with new name are marked as
      "[LocallyNew]"
      .
    • EXPECTED RESULT: Push Commit make sure that file nodes disappear. And all files were committed as well.
    • Rename all files back.


Test suite: Working with Tags and Branches

Purpose: This suite tests work-flow with tags and branches.
Setup: No setup is necessary except steps from previous test suite.

  1. Tag creation
    1. Select
      "Main.java"
      file node and invoke CVS | Tag... popup menu action.
    2. Dialog shows up. Enter name for tag, check first two check boxes and push
      "Tag"
      button.
    • EXPECTED RESULT: There should be lines similar to
      "T Main.java IDE: [25/07/0514:40] Tagging Main.java finished"
      in the {"Output"} tab.
  2. Tag switch for avoiding tagging locally modified files
    1. Modify and save
      "Main.java"
      file.
    2. Select this file and invoke Versioning | Tag... from main menu.
    3. "Tag"
      dialog shows up. Enter the tag name and check {"Avoid Tagging Locally Modified Files"} checkbox. Push "Tag" button.
    • EXPECTED RESULT: Dialog with error should be displayed: cvs server:
      "Main.java is locally modified cvs [ServerAborted]: correct the above errors first!"
  3. Tag switch for move existing tag
    1. Select
      "Main.java"
      and invoke CVS | Revert Modifications popup menu action.
    2. Select this file and invoke Versioning | Tag... from main menu.
    3. "Tag"
      dialog shows up. Enter the tag name, e.g. "mytag". Push {"Tag"} button.
    4. Verify whether tag was really created. (In Branch dialog - browse).
    5. Do some changes to that file and commit it.
    6. Invoke CVS | Search History... on the project in Projects view. Type the tag name (e.g. "mytag") in the
      "From:"
      line and push {"OK"} button.
    7. You should see only two latest revisions - first one when you created the tag in step 3, and second one from step 5.
    8. Select this file, invoke CVS | Tag... popup menu action, enter the same name (e.g. "mytag") and check
      "Move Existing Tag"
      checkbox. Push {"Tag"} button.
    • EXPECTED RESULT: Verify whether the tag name (e.g. "mytag") was removed from the previous revision and added to the latest one. (Repeat step 6 - you should see only the latest revision.)
  4. Tag deletion
    1. Select
      "Main.java"
      and invoke CVS | Tag... popup menu action.
    2. Type "mytag" into the
      "Tag name"
      text field. Check the {"Delete Tag"} checkbox and push "Tag".
    • EXPECTED RESULT: Verify that the tag "mytag" was removed.
  5. Branch creation
    1. Select project root and invoke CVS | Branch... popup menu action.
    2. Dialog for branching shows up. Setup
      "Branch Name"
      to e.g. {"new_branch"} and "Tag Before Branching" will be automatically set up to "new_branch_root". "Switch to this Branch Afterwards" option will also be checked by default.
    3. Check both checkboxes.
    4. Push
      "Branch"
      button.
    • EXPECTED RESULT: Verify in
      "output"
      tab whether project was branched properly.
  6. Committing to branch
    1. Select the
      "Main.java"
      file, modify and save it.
    2. Invoke CVS | Commit... popup menu action.
    3. Commit dialog shows up and there should be listed
      "Main.java"
      file and information about the branch - {"Committing to "new_branch" branch"}. Push "Commit" button.
    • EXPECTED RESULT: Verify in
      "Output"
      tab whether it action finished successfully.
  7. Multiple branches
    1. Create new e.g.
      "NewInterface"
      in this project.
    2. Select project root and invoke Versioning | Commit... project from main menu.
    3. Commit dialog shows up and there should be listed
      "NewInterface.java"
      file and information about the branch - {"Committing to "new_branch" branch"}. Push "Commit" button.
    4. Verify successful commit of new add file.
    5. Now select project root and invoke CVS | Switch to Branch... popup menu action.
    6. Appropriate dialog shows up. Select
      "Switch to Trunk"
      radiobutton and push {"Switch"} button.
    7. "NewInterface"
      file should disappear from all views.
    8. Select again project root and invoke CVS | Switch to Branch... popup menu action.
    9. Appropriate dialog shows up. Select
      "Switch to Branch"
      radiobutton, select the branch created in previous test case and push {"Switch"} button.
    10. Verify whether
      "NewInterface"
      file appears in all views again.
    11. Select
      "Main.java"
      file and invoke CVS | Switch to Branch... popup menu action.
    12. In the dialog choose
      "Switch to Trunk"
      option and push {"Switch"} button.
    13. Verify that file contains changes made in the trunk.
    14. Modify and save both
      "Main.java"
      and {"NewInterface"} file.
    15. Select the project root and invoke CVS | Commit... from the main menu.
    16. Dialog shows up, with these two files. There should be information about attempt to commit to multiple branches. Commit dialog now contains also
      "Sticky tag"
      column. Blank value means that file is to be commited into trunk. Any other value is a name of the branch the file is to be commited into.
    17. Push
      "Commit"
      button.
    • EXPECTED RESULT: Verify that
      "Main.java"
      was committed to trunk and {"NewInterface"} was committed to branch in "Output" tab.
  8. Merge from branches
    1. Select the project root and invoke CVS | Switch to Branch... popup action.
    2. Select the
      "Switch to Trunk"
      radiobutton and push {"Switch"} button.
    3. All project sources should contain only "Trunk" changes.
    4. Select project root invoke CVS | Merge Changes from Branch.... popup menu action.
    5. Let
      "Merge Changes Into Working Branch"
      to {"Trunk"}
    6. Let
      "Branching Point / Branch Root"
      radio button selected in
      "Starting From"
      section.
    7. Select
      "Branch Head"
      radio button in
      "Until"
      section and browse to select {"new_branch"} branch.
    8. Push
      "Merge"
      button.
    • EXPECTED RESULT: Verify that
      "NewInterface"
      has been merged to the trunk in "Output" tab.
    1. Select "NewInterface.java" file and invoke CVS | Commit... popup menu action. Enter "merged from branch" as comment and push Commit button.


Test suite: Inspecting Sources

Purpose: This suite tests "archeology" searching with tags and branches.
Setup: No setup is necessary except steps from previous test suite.

  1. Annotations
    1. Select
      "Main.java"
      node and invoke CVS | Show Annotations popup menu action.
    2. "Annotations" column and "Stripes" should be displayed around the editor area of this file.
    3. Select desired line (with revision "1.2").
    4. All lines with revision ("1.2") should be colored blue in "annotations" column. "Stripes" should show navigations to this revision too.
    5. Move mouse pointer over "Revision" column and invoke popup menu.
    • EXPECTED RESULT: There should be Diff 1.2 to 1.1, Rollback to 1.2, Find Commit in "Project", Find Commit In Open Projects and Hide Annotations actions listed in popup menu.
  2. Annotations actions
    1. Choose Diff ... action.
    2. "Diff" tab should be opened into the editor for specified revisions.
    3. Choose Rollback to 1.2 action and confirm displayed dialog.
    4. This action should bring file in 1.2 revision for that file.
    5. Choose Find Commit in "Project" action.
    6. "Search History" tab should be opened into the editor for
      "Main.java"
      file and current project is searched.
    7. Choose Find Commit In Open Projects action.
    8. "Search History" tab should be opened into the editor for
      "Main.java"
      file and all open projects are searched.
    9. Choose Hide Annotations action.
    10. This action should hide annotation column and stripes too.
    • EXPECTED RESULT: Verify functionality on various revisions and navigations with the use of "Stripes".
  3. Search history
    1. Switch to
      "Projects"
      view and select project root.
    2. Invoke CVS | Search History... popup menu action.
    • EXPECTED RESULT:
      "Search History"
      tab for this project should be displayed in editor area. Verify also functionality of {"Browse..."} buttons next to "From:" and "To:" fields.
  4. Summary functionality
    • Comments: * - previous revision number.
    1. Make sure that
      "Summary"
      toggle button is pushed.
    2. Push
      "Search"
      button.
    • EXPECTED RESULT: Verify that all files of the project are listed in Summary output area. All items there should contain
      "file name"
      , {"file location"}, "revision number", "date", "username", "commit message for revision" information and "Find Commit in: "Project"" and "Open Projects" links there. Files that have more revisions than one should contain "Diff to x.y*" link. More to it, there is "branch name" or "tag name", or list of them labeled with "..." if there is more than one (click on its label to expand it).
  5. Summary actions
    1. Invoke popup menu on desired record in "Summary" section.
    2. There should be Diff to ..., Rollback Changes, Rollback to ..., View, Find Commit in "Project" and Find Commit In Open Projects actions listed in popup menu.
    • EXPECTED RESULT: Verify the functionality of each action. Behavior of these actions was described in
      "Annotation actions"
      section except for View ... action which will open a new tab in editor with selected revision of that file. Rollback Changes action can be invoked on multiselection that will rollback all differences among selected revisions.
  6. Find commit in "Project"
    1. Select some record in
      "Summary"
      output area, e.g. "build.xml" file.
    2. Click
      "Find Commit in "Project" "
      link.
    • EXPECTED RESULT: Verify that all fields (
      "Message"
      , {"User name"}, "From" and "To") are pre-filled with appropriate values taken from the specific record of "Summary" output tab. Result of "Summary" output tab should be updated properly - only records that meet criteria should be displayed here.
  7. Find commit in Open Projects
    1. Select some record in
      "Summary"
      output area, e.g. "build.xml" file.
    2. Click
      "Find Commit in Open Projects"
      link.
    • EXPECTED RESULT: Verify that all fields (
      "Message"
      , {"User name"}, "From" and "To") are pre-filled with appropriate values taken from the specific record of "Summary" output tab. Result of "Summary" output tab should be updated properly from the current project - only records that meet criteria should be displayed here.
  8. Diff functionality
    1. Select project root and invoke CVS | Search History ... popup menu action.
    2. Push
      "Search"
      button and then click {"Diff"} toggle button.
    • EXPECTED RESULT: Verify that table with list of files is displayed. Also area for
      "Diff"
      should be there.
  9. Diff actions
    1. Invoke popup menu on desired revision of the file in "Diff" section.
    2. There should be Rollback to ..., Rollback Changes, View, Find Commit in "Project" and Find Commit In Open Projects actions listed in popup menu.
    • EXPECTED RESULT: Verify the functionality of each action. Behavior of these actions was described in
      "Annotation actions"
      section. Rollback Changes action can be invoked on multiselection that will rollback all differences among selected revisions.
  10. Diff Arrows
    1. There should be two: UP and DOWN arrows displayed next to
      "Summary"
      and {"Diff"} buttons - make sure that they are enabled for "Diff" section only.
    • EXPECTED RESULT: Verify the functionality of each arrow. Make sure that each time arrow button is pushed current difference is moved forwards (backwards) accordingly.
  11. Exploring revisions
    1. Select some file in this table that has more revisions and expand node.
    2. Select some revision.
    • EXPECTED RESULT: In
      "Diff"
      output area there should be displayed differences between selected and previous revision. On multiselection of two revisions of the same file there should be displayed differences between them. There is also "Local Copy" revision (first in the list). Differences should not be displayed for different files.
  12. Random search
    1. Invoke CVS | Search History... on file, projects.
    • EXPECTED RESULT: Verify the functionality of
      "Search History"
      action on files, packages and project nodes. Verify that searched results meet searching criteria.


Test suite: CVS Options

Purpose: This suite tests some configurable options of CVS
Setup: CVS versioned project with at least one branch has to be opened.

  1. Opening CVS Options
    1. Invoke Tools | Options from main menu.
    2. Push
      "Miscellaneous"
      button.
    3. Select
      "Versioning"
      tab and then {"CVS"} from the "Versioning systems" list.
    • EXPECTED RESULT: There should be four configurable options:
      "Status Label Format"
      , "Apply "Exclude From Commit" On New Files Automatically", "Wrap Commit Messages To (characters)" and "Automatically prune directories after checkout".
  2. Status Label Format
    • Comments: Note: There are more options than just a revision. All of them are described in the
      "Add Variable"
      window.
    • Setup: Complete case 1 and delete everything from
      "Status Label Format text field."
    1. Push
      "Add Variable..."
      button.
    2. New window labeled
      "Add Variable"
      appears.
    3. Select line starting with
      "{revision}"
      , push {"OK"} button in this window and then "OK" button to confirm Options changes.
    • EXPECTED RESULT: In
      "Projects"
      view you should see version of each file. (It is necessary to have View -> Show Versioning Labels enabled from main menu to see them.)
  3. Exclude New Files From Commit
    • Setup: Complete case 1.
    1. Check the
      "Apply "Exclude From Commit" On New Files Automatically"
      checkbox and push {"OK"} button.
    2. Add one new file to your project. Add one new file externally (eg. copy some file to src folder of your project).
    3. Select project root and invoke Versioning | Commit.
    • EXPECTED RESULT: All newly added files should have
      "Exclude from Commit"
      in their {"Commit Action"} column and their name should be strike-through.
  4. Wrap Commit Messages
    • Comments: NOTE: Commit messages will be wrapped only for those commits executed when
      "Wrap Commit Messages To (characters)"
      checkbox was checked. If it wasn't checked, DO NOT expect commit messages in {"Search History..."} to be wrapped if you checked the checkbox later.
    • Setup: Complete case 1.
    1. Check the
      "Apply "Wrap Commit Messages To (characters)" On New Files Automatically"
      checkbox.
    2. Type
      "10"
      into the text field next to the checkbox and push {"OK"} button.
    3. Modify some file, invoke
      "Commit Dialog"
      , enter {"Commit Message"} longer than 10 characters and commit the file.
    4. Select previously commited file and invoke CVS | Search History... and make sure the
      "Summary"
      toggle button is pushed.
    • EXPECTED RESULT: The commit message previously entered should be divided into lines with no more than 10 characters each.
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo