このセクションでは、ソース管理システムに C/C++test を接続する方法について説明します。
このセクションの内容
C/C++test のソース管理のサポート
C/C++test 環境にプラグインするソース管理システムを使って、ソースファイルとテストファイルを管理することができます。
下記のリストにある「サポートされるソース管理システム」をチームが使用している場合、適切な構成を行うことで C/C++test から次の操作を行うことができます。
- ソース管理システムのファイルリビジョンデータを使ってコードの作成者を判定し、作成 者と編集時刻に基づいて、タスクの再割り当てとテストスコープの制限を行うほか、テストの失敗とポリシーの違反を担当者に自動的に割り当てる。詳細については「タスクの割り当てとコード作成者の設定」を参照してください。
- テストの前にソース管理システムからプロジェクトを更新する (テストコンフィギュレー ションの [共通] タブ > [ソース管理] > [プロジェクトを更新] を有効にしている場合)。
C/C++test は次のソース管理システムをサポートしています。
製品 | テスト済みのバージョン |
---|---|
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 |
ソース管理 API を使用してソース管理システムと統合できます。詳細については「カスタムソース管理システムの統合」を参照してください。
Subclipse サポートの注意点
- Subclipse プラグインの各バージョンは、それぞれ特定のバージョンの Subversion とだけ互換性があります。現在使用している Subclipse プラグインと、Parasoft Test がサポートする Subversion との間に互換性があることを確認してください。例えば、 Subversion 1.3 と Subclipse プラグイン 1.2 をインストールしてはいけません。 Subclipse プラグイン 1.2 が使用するのは Subversion 1.4 です。Subclipse 1.4.x は JavaHL/SVNKit の Subversion 1.5.0 を必要とします。Subclipse 1.4.5 はすでに Subversion クライアントアダプター 1.5.2 を持っています。
- Subversion 1.4 で追加された変更のために、バージョン 1.4 よりも前の Subversion クライアントは、Subversion 1.4 が生成する作業コピーに対して作業できません。Subversion 1.4 に付属の Subclipse プラグイン 1.2 を使用している場合、次のエラー メッセージを受け取ることがあります。
svn:
This client is too old to work with working copy '.'; please get a newer Subversion client
これは、Parasoft Test がバージョン 1.3 以前のコマンドラインクライアントを使用し ていることを意味します。解決方法は、コマンドライン SVN クライアントをバージョン 1.4 に更新することです。svn --version
コマンドを実行すると、クライアントのバージョンを確認できます。
ソース管理システムのサポートを有効にする
使用するソース管理システムのサポートを有効にするには、次の操作を行います。
ソース管理システムのコマンドラインクライアントを環境変数の PATH に必ず設定して、 C/C++test の起動時に利用可能にします。 例えば Subversion を使用する場合、Eclipse に Subclipse プラグイン (SVN Eclipse プラグイン) をインストールするのは不十分です (Subclipse のインストールは必須ではありません)。 コマンドラインの Subversion クライアント (svn.exe ) を使 用するべきです。
- [Parasoft] メニューの [設定] をクリックして [設定] ページを表示します。
- 設定パネルの左側のペインで [Parasoft] > [スコープと作成者] ページを選択します。
- [ソース管理システムを使ってスコープを計算] チェックボックスをオンにします。
- 設定パネルの左側のペインで [Parasoft] > [ソース管理] ページを選択します。
- 「C/C++test 環境設定-概要」で説明されている自動設定プロセスによって適切なリポジトリがすでに設定されている場合、ユーザーとパスワードを入力します。ソース管理システムのクライアント実行ファイルへのパスをまだシステム パスで設定していない場合は、このパスも入力します。
「C/C++test 環境設定-概要」で説明されている自動設定プロセスによって適切なリポジトリがまだ設定されていない場合、以下の手順に従って設定します。- 使用するソース管理システムをオンにします。
- SCM クライアント実行モジュールへのパスを指定します。実行モジュールへのパスがシステム パスに含まれている場合、指定する必要はありません。
- リポジトリ プロパティ フィールドの [新規] ボタンをクリックします。選択したソース管理システムに必要なプロパティを設定し、[OK] をクリッ クします。
- [OK] をクリックして[ソース管理システムの詳細] ダイアログを閉じます。
- 変更を適用して [OK] ボタンをクリックします。
ソース管理システムとの統合をテストするには、次の操作を行います。
- C/C++test の環境で、リポジトリからチェックアウトしたプロジェクトを開きます。
- エディターでファイルを開きます。
- ソースコードを右クリックし、ショートカットメニューの [Parasoft] > [行の作成者を表示] をクリックします。作成者が表示された場合は、ソース管理システムと C++test は正常に統合されています。
デバッグのヒント
ソース管理との統合における問題をトラブルシューティングするには、次のコマンドを実行しま す。コンソールに詳細なログ情報が表示されます。 -consolelog -J-Dcom.parasoft.xtest.logging.config.jar.file=/com/parasoft/xtest/logging/log4j/config/logging.on.xml.
コンソールに詳細なログ情報が表示されます。
ユーザーソースコードを含んだソース管理システムからのメッセージを表示するには、さらに次のフラグを使用します。-Dscontrol.log=true
Git の構成
接続する Git リポジトリで匿名でのプルが許可されている必要があります。
- コマンド プロンプトを開き、リポジトリを clone します。
git clone <repository>
- git URL から clone する場合、Git でチェックインされたテスト ケースを自動的にプッシュするよう、
git push
URL も設定します。git config remote.origin.pushurl git@<your repository URL>
- 新しく作成されたリポジトリ
user.name
でgit config
を設定します。git config user.name "<your username>"
グローバル git user.name がすでに設定されている場合は、このステップを省略できます。この user.name はDTP ユーザー名と同じでなければなりません。
ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。
- URL: プル/プッシュするリモートリポジトリの URL を指定します。プルおよびプッシュが無効な場合、このフィールドは空のままにします。すべての git URL を使用できます (例: git://host/repositoryssh://user@host user@host)。git コマンドラインはフラグ付 きのクレデンシャル設定をサポートしていないため、ssh などの通常は認証を要求するプロトコルの場合、ID ファイルを設定してクレデンシャルがなくてもログインできるようにするか、匿名での接続が許可されるようにする必要があります。
- ブランチ: ソース管理モジュールが使用するローカルワークスペース内のブランチ名を入力します。このフィールドが空の場合、現在チェックアウトされているブランチが使われます。
- 作業フォルダー: ローカル git リポジトリのルートを入力します。
シャロー クローン
Git から DTP に作成者情報をレポートする場合、クローンされたリポジトリはシャローであってはいけません。.git/shallow
ファイルが存在する場合、Git リポジトリはシャローであるとみなされます。リポジトリからシャロー クローンをチェックアウトした場合、Git は作成者情報を正確に生成しない場合があります。正確な作成者情報を取得するには、フル クローンをチェックアウトする必要があります。
Perforce の構成
ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。
- サーバー: Perforce サーバーのマシン名と IP アドレス。
- ポート : Perforce サーバーのポート。
- ユーザー: リポジトリに接続するときに使用するユーザー名
- パスワード: ユーザーのパスワード
- クライアント: P4CLIENT 環境変数またはそれに相当する変数で指定しているように、クライアントワークスペースの名前を入力します。
Subversion の構成
Parasoft の Subversion のサポートはコマンドライン クライアント 'svn' に基づきます。C/C++test と Subversion を連携して使用するには、次の点に注意してください。
- サポート対象の Subversion クライアントがインストールされていることを確認します。
- クライアント証明書を Subversion のコンフィギュレーション エリアに格納している必要があります。Subversion クライアントには、ディスク上の認証証明書にアクセスするためのビルトイン システムがあります。デフォルトでは、コマンドライン クライアントがサーバーでの自分自身の認証に成功するたびに、クライアントはユーザー個人のランタイム コンフィギュレーション エリアに証明書を保存します。UNIX 系のシステムでは ~/.subversion/auth/ であり、Windows では %APPDATA%/Subversion/auth/ です。
ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。
- URL: SVN サーバーの URL。URL にはプロトコル、サーバー名、ポート、および開始リポジトリパスを指定します。例: svn://buildmachine.foobar.com/home/svn
- ユーザー: リポジトリに接続するときに使用するユーザー名
- パスワード: ユーザーのパスワード
Team Foundation Server の構成
ソース管理システムのサポートを有効にし、[ソース管理システムの説明を作成] ダイアログで以下のリポジトリ プロパティを設定します。
- URL: Team Foundation Server リポジトリの URL を入力します (例: http://localhost:8080/tfs)。
- カスタム証明書の使用: カスタムの TFS 証明書を提供する場合、このオプションをオンにします。このオプションを指定しない場合、システムの証明書が使用されます。
- ユーザー: ユーザー名を入力します。マシンで TFS リポジトリを設定するのに使用するのと同じユーザー名を指定します。
- パスワード: ユーザーのパスワード
デフォルトでは、C/C++test は TFS にアクセスするためにキャッシュされた証明書を必要とします。これは、ユーザー ログイン情報や何らかの以前のログイン情報です。キャッシュされた証明書ではなく、カスタム証明書を使用することも可能です。
ローカル設定ファイルでのソース管理システムの定義
ローカル設定ファイルを使ってソース管理システムの定義を指定できます (DTP を使用したチーム レベルの設定共有やコマンド ラインでのオプション指定のため)。詳細については「ローカル設定の指定」 を参照してください。