GNU Arm Embedded Toolchainコンテナに対するC/C++testテスト環境構築手順

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

サンプル環境の概要

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

添付資料

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

$ mkdir /home/cpptest/work_docker
  1. 手順1.のディレクトリに移動後、付属資料(Attachment.zipファイル)を配置し、展開します。
    以降、work_dockerディレクトリを<付属資料ディレクトリ>とします。

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

$ cp -r integration /opt/app/parasoft/cpptest
  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インストールディレクトリ>を実際の環境にあわせて変更します。

  1. start_cpptest.shを実行し、CC/++testを起動します。

  1. [Parasoft] > [設定]にて、設定ダイアログを開き、ツリーより[Parasoft] > [コンフィギュレーション]を選択します。



  2. それぞれ以下のように設定し、[適用]をクリック、[OK]を選択します。

ユーザー コンフィギュレーション: <付属資料ディレクトリ>/cpptest_work/tools/test_config
ユーザー定義ルール: チェック無効
カスタム コンパイラ: <付属資料ディレクトリ>/cpptest_work/tools/custom_compiler

 

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

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

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

以上で、初期設定は完了となります。この手順は初回のみ実施いただければ問題ありません。

このセクションの内容:

 

Related pages

Copyright © 2023 TechMatrix Corporation. All rights reserved