This topic explains how to connect SOAtest to your source control repository.
Sections include:
About Source Control Support
Any source control system that plugs into your Parasoft SOAtest environment can be used to manage your source and test files.
If your team is using a one of the specified supported source control system (see list below) and performs the necessary configurations (as described later in this topic), Parasoft can:
- Use file revision data from source control to determine authorship (for automatically assigning test failures and policy violations to the responsible team member as well as for restricting test scope by author and/or modification time). SeeConfiguring Task Assignment and Code Authorship Settings for details.
- Update projects from source control before testing (if the Test Configuration’s Common> Source Control> Update projects setting is enabled).
SOAtest includes out-of-the-box support for the following source control systems:
Vendor | Tested version |
---|---|
Git | 1.7, 1.8, 1.9, 2.x |
Microsoft Team Foundation Server | 2012, 2015, 2017, 2018, 2019 |
Perforce | 2006.2, 2015 |
Subversion (SVN) | 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13 |
You can use the source control API to integrate with other source control systems. Refer to Adding a Custom Source Control Integration.
Subclipse Support
Each Subclipse plugin version is compatible with specific Subversion versions. Ensure that your Subclipse plugin is compatible with a version of Subversion that Parasoft supports.
For example, you do not install Subversion 1.3 and Subclipse plugin 1.2, Subclipse 1.2 uses Subversion 1.4. Subclipse 1.4.x requires Subversion 1.5.0 version of JavaHL/SVNKit. Subclipse 1.4.5 already has subversion client adapter 1.5.2.
Subversion clients earlier than 1.4 do not support working copies produced by Subversion 1.4. If you are using Subclipse plugin 1.2 (which includes Subversion 1.4), you might receive the following error message:
svn: This client is too old to work with working copy '.'; please get a newer Subversion client
This means that Parasoft is using a command-line client that is version 1.3 or older. The solution is to update your command-line SVN client to version 1.4. The client version can be verified by executing the following command:
svn --version
Enabling Source Control Support
To enable support for any of the supported source control systems:
Make sure that the command line client for the given source control is on the system%PATH%/$PATH and is available when SOAtest is launched.
For example, if you have Subversion, it is not sufficient (or even required) to install the Subclipse plugin to Eclipse (SVN Eclipse plugin). Instead, you should have the plain command line svn.exe Subversion client.
- Choose Parasoft> Preferences. The Preferences dialog will open.
- Select Parasoft> Scope and Authorship in the Preferences dialog.
- Check Use source control (modification author) to compute scope.
- Select Parasoft> Source Controls in the Preferences dialog.
- If the appropriate repositories are already set (refer to the auto-configuration process described in Configuring SOAtest Across Teams), enter your user and password, and specify the path to your source control client executable (if it is not already on your system path).
If the appropriate repositories are not already set (refer to the auto-configuration process described in Configuring SOAtest Across Teams) specify them as follows:- Enable the source control system you want to use and specify the path to the SCM client executable. You do not need to specify the executable path if it is already on your system path.
- Click New in Repository properties field and enter the source control properties required for the selected type of source control system.
- Click OK to close the Source Control Description dialog.
- Apply your changes and click OK.
To test the integration:
- In the Parasoft environment, open a project that is checked out from the repository.
- Open a file in the editor.
- Right-click the source code, and choose Parasoft> Show Author at Line. If the correct author is shown, the integration was successful.
Troubleshooting
You can enable debug logging by specifying the JAR shipped with SOAtest to troubleshoot problems with source control integration:
-consolelog J-Dparasoft.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/verbose.console.xml
A detailed log will print to the console. Include the following flag to include messages from the SCM system:
-Dscontrol.log=true
The output that results from using the -Dscontrol.log
flag may contain fragments of user source code.
As an alternative to the JAR shipped with SOAtest, you can specify a log4j file on disk using the parasoft.logging.config.file
system property:
-consolelog J-Dparasoft.logging.config.file=<PATH_TO_LOG4J_FILE>
Git Configuration
The Git repository you connect to must allow anonymous pulls.
- Open a command prompt and clone your repository:
git clone <repository>
- If cloning from a git URL, then the
git push
URL must also be configured to automatically push test cases checked in with Git.git config remote.origin.pushurl git@<your repository URL>
- Set g
it config
on the newly created repositoryuser.name
.git config user.name "<your username>"
This step can be skipped if a global git user.name is already set. The user.name must match the user's DTP user name.
When you are enabling source control support, specify the following repository properties in the Create Source Control Description dialog:
- URL: Specify the remote repository URL to pull/push to. If pulling and pushing is disabled, this field can be left blank. You can use all git urls (e.g., git://host/repositoryssh://user@host user@host). Note that since the Git command line doesn't support setting credentials with flags, protocols which normally require authentication (such as ssh) must have identity files set to enable login without credentials or they must accept anonymous connections.
- Branch: Enter the name of the branch in the local workspace that the source control module will use. If this is left blank, the currently checked out branch will be used.
- Working folder: Enter the root of the local git repository.
Shallow Clones
A Git repository is considered shallow if the file .git/shallow
exists. Git may not accurately produce authorship data when checking out shallow clones from a repository. You should check out full clones to retrieve accurate authorship information.
Perforce Configuration
When you are enabling source control support, specify the following repository properties in the Create Source Control Description dialog:
- Server: Enter the Perforce server’s machine name or IP address.
- Port: Enter the Perforce server’s port.
- User: Enter the user name under which you want to connect to the repository.
- Password: Enter the password for the above user name.
- Client: Enter the client workspace name, as specified in the P4CLIENT environment variable or its equivalent.
Subversion Configuration
Parasoft’s Subversion support is based on the command line client 'svn'. See About Source Control Support for a list of supported SVN versions.
The client certificate must be stored in the Subversion configuration area. The Subversion client has a built-in system for caching authentication credentials on disk. By default, whenever the command-line client successfully authenticates itself to a server, it saves the credentials in the user's private runtime configuration area—in ~/.subversion/auth/ on Unix-like systems or %APPDATA%/Subversion/auth/ on Windows.
When you are enabling source control support, specify the following repository properties in the Create Source Control Description dialog:
- URL: Enter the URL for the SVN server. The URL should specify the protocol, server name, port and starting repository path (for example, svn://buildmachine.foobar.com/home/svn).
- User: Enter the user name under which you want to connect to the repository.
- Password: Enter the password (not encoded) for the above user name.
Team Foundation Server Configuration
See About Source Control Support for a list of supported versions.
SOAtest for Eclipse doesn't require any additional software to be installed for TFS integration (the required libraries are included).
When you are enabling source control support, specify the following repository properties in the Create Source Control Description dialog:
- URL: Enter the URL for the Team Foundation Server repository (for example, http://localhost:8080/tfs).
- Use custom credentials: If you want to provide custom TFS credentials, select this option then provide those credentials. When this option is disabled, system credentials will be used.
- User: Enter the user name.
- Password: Enter the password.
By default, SOAtest uses the cached credentials for accessing TFS (this could be your user login or some previously logged in information). You can provide custom credentials if you want to use them instead of the cached ones.
Specifying Source Control Definitions via localsettings
Source control definitions can be specified in localsettings (e.g. for sharing team-wide settings via DTP, Concerto, or by specifying options at the command line). See Configuring Localsettings for details.