・新ライセンス管理ソフトウェアの対応
-「ライセンス管理ソフトウェア V3.0(CodeMeter版)」に対応しました。
ライセンス管理ソフトウェアの情報は、下記「【重要】ライセンス管理システム変更に関するご案内」を参照してください。
【重要】ライセンス管理システム変更に関するご案内
※参照先:QTEマニュアル
「6.3 CodeMeter ライセンスの設定」
・VSCode連携機能にAI Agentとの連携機能を追加
-AI向けにカバレッジ達成状況の専用ファイル出力機能を追加しました。専用ファイルを使用することにより外部のAI Agentと連携し、目標のカバレッジを達成するGoogle Test テストドライバーソースを効率的に作成できます。
また、専用ファイルを利用するAI用サンプルプロンプトを提供しています。
※参照先:QTEマニュアル
「15.4 AI Agent連携」
・ソースコード単位カバレッジ表示機能の制限解除
-機能安全カバレッジモード使用時、ソースコード単位カバレッジ表示機能で、テンプレート関数のカバレッジ表示がN/Aとなっていた制限を解除しました。
※参照先:QTEマニュアル
「13.1.3.1 テンプレート」
「13.2.1.2 テストが実行されていてもカバレッジ計測が行われないサポート対象外事項」
「13.2.2.1 テストが実行されていてもカバレッジ計測が行われないサポート対象外事項」
「13.2.4.1 テストが実行されていてもカバレッジ計測が行われないサポート対象外事項」
・テンプレートクラス内で1ソース行に同名で複数定義されたテンプレートメンバ関数のカバレッジレポート制限を解除
-機能安全カバレッジモード使用時に、下記コード例のソースコードに対してソースコード単位カバレッジ表示機能でカバレッジレポート生成した場合、カバレッジレポート生成時にエラー/警告を出力、または、誤ったカバレッジ結果を表示する場合がありましたが、本制限を解除し、正しいカバレッジレポートを表示するようにしました。
また、本制限事項に該当するソースコードを検出した時の動作 (エラー停止または警告出力)を指定するオプション「limitation-syntax-type2-handling-mode」を削除しました。既存環境の workspace.json に本オプションが既に設定されている場合でも、設定を削除していただく必要はありません。本オプションによる検出機能は動作しなくなりますが、カバレッジレポート生成は正常に行われます。
【コード例】:
// テンプレートクラス内で1ソース行に同名で複数定義されたテンプレートメンバ関数
template <typename T> class FnG {
public:
// 該当関数: tFunc
template <typename U> T tFunc(U a) {<処理>} template
<typename U> T tFunc(U a, int b) {<処理>}
};
・constexprで修飾された関数のカバレッジを取得
-機能安全カバレッジモード使用時、constexprで修飾された関数が実行時に動作する(※)場合、カバレッジ計測ができるようになりました。
(※)関数が定数として評価される場合、定数評価時のカバレッジは計測できません。
本機能に関連して、以下のオプションが追加されました。
オプション「constexpr-function-coverage-mode」で、以下の様なソースコードの場合、constexprで修飾された関数」をカバレッジ測定対象とするか切り替えすることができます。 "0" の時、カバレッジ計測対象外とします。"1" の時、カバレッジ計測対象とします。
【コード例】:
// constexprで修飾された関数
constexpr int ConstexprFunc( int a ){
if( a > 0 ){
return a * 100;
}
}
// 実行時評価
int Constexpr_test_Func( int a ){
return ConstexprFunc( a );
}
※参照先:QTEマニュアル
「9.6.3 constexpr(C++11)で修飾された関数をカバレッジ計測対象とする場合のビルド設定について」
「14.1.1.1 constexpr(C++11)で修飾された関数」
・QTEビルド環境構築時の改善
-QTE用の設定を追加した状態でも、QTEを介さないビルドに影響を与えないように、QTEビルド設定パッケージ(CMake)の見直しを行いました。
※参照先:QTEマニュアル
「9.6 ビルドシステム設定手順」
・VSCode連携機能のユーザビリティ改善
1)VSCode連携機能使用時、VSCode連携機能で必要なデータが残るようにcleanコマンドに新オプション「--vsc」を追加しました。
※参照先:QTEマニュアル
「9.2.1 コマンド一覧」
2)初期設定画面のソースファイル指定において、一括チェックおよび一括チェック解除の機能を追加しました。
3)独自のコマンドやスクリプトを利用してテストを実行している際に、カバレッジ計測結果最新化機能が利用できない制限を解除しました。呼び出されるコマンドおよびスクリプトを初期設定画面上から任意設定出来るよう改善しました。
※参照先:QTEマニュアル
「10.2.6 カバレッジ結果更新スクリプトファイルの編集」
4)カバレッジ計測結果最新化機能の処理中に、VSCode上でGoogle Testテストドライバーの編集が出来るよう改善しました。
5)マルチウィンドウ(VSCode複数起動)環境におけるデータ不整合時に出力されるメッセージ内容を改善しました。
※参照先:QTEマニュアル
「11.2.3.2 VSCode連携機能のエラーメッセージ一覧」
6)Branchカバレッジ/MCDCが100%の論理式を選択した時に、論理組み合わせ表表示画面に100%であることをメッセージ出力するよう改善しました。
※参照先:QTEマニュアル
「10.6.2 論理組み合わせ表を表示」
・特定のC++構文を使用時の"prepare"コマンドエラーの制限解除
-機能安全カバレッジモード使用時、テンプレートクラス内でfriend 宣言と同時に関数を定義している以下の様なソースコードで 'prepare' コマンドがエラー停止する場合がありましたが、本制限を解除し、本版からエラーが発生しないようにしました。
【コード例】:
inline namespace INS {
int data1 = 1;
}
template <typename T>
class CL {
// 該当箇所:テンプレートクラスの内部で、friend 宣言と同時に関数を定義している
friend void data1( CL<T> &obj ){}
};
int main(void){
CL<int> obj;
return 0;
}