Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

本章はクロスコンパイラであるARM GCCを使った手順になります。

Table of Contents

サンプル環境の概要

ホストOS上にインストールされたC/C++testからテストを実行すると、docker execコマンドを通してDockerコンテナ上のクロスコンパイラと実行環境を用いて静的解析・単体テストを行います。ホストのソースコードをマウントして実行するため、テスト結果をホスト上のC/C++testから確認できます。

添付資料

View file
nameAttachment.zip

Dockerfile
Dockerコンテナの構成内容をまとめたファイル。Docker Hub(https://hub.docker.com/)にあるUbuntu(18.04 LTS)をベースイメージとして下記パッケージをインストールした独自のイメージを作成します

custom_compiler
C/C++testのコンパイラ設定ファイル。
GNU Arm Embedded Toolchain向けにカスタマイズした設定ファイルです。

test_configs
C++testの単体テストモジュールのビルド、および実行環境(Qemu)でアプリケーションを実行するためのテストコンフィギュレーション。静的解析はC/C++testに内蔵されているビルトインテストコンフィギュレーションをそのまま使用できます。

set_env.sh/generate_BDF.sh/start_cpptest.sh

  • set_env.sh: C/C++testおよびツールチェインなどの環境変数を設定するスクリプト

  • generate_BDF.sh: Dockerコンテナ内で対象プロジェクトをビルドし、ビルドデータファイル(BDF)を作成するスクリプト

  • start_cpptest.sh: Dockerコンテナ内でテスト実現にするための設定をしたうえでC/C++testを起動するスクリプト

integration/docker
C/C++testのインストールディレクトリに配置して使用します。
ホストOS上のC/C++testからコンテナ内のコンパイラとリンカーを実行するためのスクリプトです。

サンプル環境構築手順

本手順書では、以下のディレクトリを前提として説明しています。これらのディレクトリパスはご利用の環境により異なりますので適宜読み替えてください。

  • <ホームディレクトリ>: /home/cpptest

  • <ツールディレクトリ>: /opt/app/parasoft

  • <C/C++testインストールディレクトリ>: /opt/app/parasoft/cpptest

事前準備 - 付属資料の配置&初期設定

  1. 付属資料を配置するための新規のディレクトリを<ホームディレクトリ>に作成します。
    ※ディレクトリ名称は任意ですが、マルチバイト文字は含めないようにしてください。

...

  1. <付属資料ディレクトリ>/cpptest_work/tools/integrationディレクトリを<C/C++testインストールディレクトリ>にコピーします。

...

  1. <付属資料ディレクトリ>/cpptest_work/tools/custom_compiler/arm-none-eabi-gcc_v9_x/gui.propertiesをエディタで開き、cppExecutablecExecutablelinkerExecutableの三か所に記載されている<C/C++testインストールディレクトリ>を実際の環境にあわせて変更します。

...

  1. <付属資料ディレクトリ>/cpptest_work/tools/set_env.shをエディタで開き、CPPTEST_INS_DIR変数<C/C++testインストールディレクトリ>を実際の環境にあわせて変更します。

Code Block
languagebash
export CPPTEST_INS_DIR=/opt/app/parasoft/cpptest
  1. start_cpptest.shを実行し、Cshを実行し、CC/++testを起動します。

Code Block
languagebash
$ ./start_cpptest.sh

...

  1. [Parasoft] > [テストコンフィギュレーション]にて、テストコンフィギュレーションダイアログを開き、ツリーより[Parasoft] > [ユーザー定義] > [02. シンボル情報収集(docker)]を選択します。

    Image RemovedImage Added
  2. テストコンフィギュレーションダイアログの右側より [実行]タブを選択し、[実行の詳細] > [テスト実行フロー:]下のRemote execution commandの右側の<C/C++testのインストールディレクトリ>を実際の環境にあわせて変更します。変更後、[適用]をクリック、[閉じる]を選択します。

  3. [Parasoft] > [ユーザー定義] > [03. Run Unit Tests for ARM(docker)] に対しても、手順10.を行い、実際の環境にあわせて変更します。

...