GNU GCC コンテナに対するC/C++testテスト環境構築手順
本章はGNU GCCを使った手順になります。
サンプル環境の概要
ホストOS上にインストールされたC/C++testからテストを実行すると、docker execコマンドを通してDockerコンテナ上の開発環境を用いて静的解析・単体テストを行います。ホストのソースコードをマウントして実行するため、テスト結果をホスト上のC/C++testから確認できます。
添付資料
Dockerfile
|
custom_compiler |
test_configs |
set_env.sh/generate_BDF.sh/start_cpptest.sh
|
サンプル環境構築手順
本手順書では、以下のディレクトリを前提として説明しています。これらのディレクトリパスはご利用の環境により異なりますので適宜読み替えてください。
<ホームディレクトリ>: /home/cpptest
<ツールディレクトリ>: /opt/app/parasoft
<C/C++testインストールディレクトリ>: /opt/app/parasoft/cpptest
事前準備 - 付属資料の配置&初期設定
付属資料を配置するための新規のディレクトリを<ホームディレクトリ>に作成します。
※ディレクトリ名称は任意ですが、マルチバイト文字は含めないようにしてください。
$ mkdir /home/cpptest/work_docker
手順1.のディレクトリに移動後、付属資料(Attachment.zipファイル)を配置し、展開します。
以降、work_dockerディレクトリを<付属資料ディレクトリ>とします。
$ unzip Attachment.zip
<付属資料ディレクトリ>/cpptest_work/tools/custom_compiler/gcc_7-64_docker/gui.propertiesをエディタで開き、cppExecutable、cExecutable、linkerExecutableの三か所に記載されている<C/C++testインストールディレクトリ>を実際の環境にあわせて変更します。
[gui.properties] ※該当箇所のみ抜粋
cppExecutable=/opt/app/parasoft/cpptest/integration/docker/remote-g++
cExecutable=/opt/app/parasoft/cpptest/integration/docker/remote-gcc
linkerExecutable=/opt/app/parasoft/cpptest/integration/docker/remote-g++
<付属資料ディレクトリ>/cpptest_work/tools/set_env.shをエディタで開き、CPPTEST_INS_DIR変数の<C/C++testインストールディレクトリ>を実際の環境にあわせて変更します。
start_cpptest.shを実行し、C/C++testを起動します。
[Parasoft] > [設定]にて、設定ダイアログを開き、ツリーより[Parasoft] > [コンフィギュレーション]を選択します。
それぞれ以下のように設定し、[適用]をクリック、[OK]を選択します。
ユーザー コンフィギュレーション: <付属資料ディレクトリ>/cpptest_work/tools/test_config
ユーザー定義ルール: チェック無効
カスタム コンパイラ: <付属資料ディレクトリ>/cpptest_work/tools/custom_compiler
[Parasoft] > [テストコンフィギュレーション]にて、テストコンフィギュレーションダイアログを開き、ツリーより[Parasoft] > [ユーザー定義] > [02. シンボル情報収集(docker)]を選択します。
テストコンフィギュレーションダイアログの右側より [実行]タブを選択し、[実行の詳細] > [テスト実行フロー:]下のRemote execution commandの右側の<C/C++testのインストールディレクトリ>を実際の環境にあわせて変更します。変更後、[適用]をクリック、[閉じる]を選択します。
[Parasoft] > [ユーザー定義] > [03. Run Unit Tests in Container] に対しても、手順9.を行い、実際の環境にあわせて変更します。
以上で、初期設定は完了となります。この手順は初回のみ実施いただければ問題ありません。
このセクションの内容:
Related pages
Copyright © 2023 TechMatrix Corporation. All rights reserved