필터 지우기
필터 지우기

API를 사용하여 젠킨스에서 CLI를 구성하여 아래 f_PSGen.m을 실행하였습니다. 오류가 발생하여, 오류분석 부탁드립니다.

조회 수: 4 (최근 30일)
정근
정근 2024년 5월 17일
이동: Angelo Yeo 2024년 5월 17일
■■■■■■■■■■■■■■■■■■■■■ 소스 코드 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
% f_PSGen
% Abstract: function for Polyspace for Simulink Model Only
%
%%% Syntax
% * [chrBFResult,chrCPResult]=f_SLPSGen(chrModelPath, chrProjectPath)
%
%%% Example
% [chrBFResult,chrCPResult]=f_SLPSGen(chrModelPath, chrProjectPath)
%
%%% Input
% * chrModelPath : Simulink Model Path
% * chrProjectPath : Simulink Project Path
%
%%% Output
% * chrBFResult : Bug Finder Result Path
% * chrCPResult : Code Prover Result Path
%
%%% Copyright
% -------------------------------------------------------------------------
% Copyright 2023 Consulting Services, The MathWorks, Inc.
% -------------------------------------------------------------------------
function [chrBFResult,chrCPResult]=f_PSGen(chrModelPath, chrProjectPath,chrLegacyCPath,chrTarget,chrCompiler)
arguments
chrModelPath (1,:) char {mustBeText}
chrProjectPath (1,:) char {mustBeText}
chrLegacyCPath (1,:) char {mustBeText}
chrTarget (1,:) char {mustBeText}
chrCompiler (1,:) char {mustBeText}
end
%Get Current Path for Code Verification
strCurrentPath = fileparts(mfilename('fullpath'));
fprintf('[PJK] Current path: %s\n', strCurrentPath);
%Incase Simulink model , then set up the code generation folder
if( exist(char(chrModelPath),'file') && exist(char(chrProjectPath),'file'))
%% Load Simulink Project to get Cach and CodeGen Folder
hdlSimulinkProject = openProject(char(chrProjectPath));
chrCodeGenFolder = hdlSimulinkProject.SimulinkCodeGenFolder;
chrCacheFolder = hdlSimulinkProject.SimulinkCacheFolder;
fprintf('[PJK] Simulink project loaded. CodeGenFolder: %s, CacheFolder: %s\n', chrCodeGenFolder, chrCacheFolder);
%%Set Reference Project for Simulink Model
hdlProject = openProject(strCurrentPath);
addReference(hdlProject,fileparts(char(chrProjectPath)),"relative");
hdlProject.SimulinkCacheFolder = chrCacheFolder;
hdlProject.SimulinkCodeGenFolder = chrCodeGenFolder;
reload(hdlProject);
fprintf('[PJK] Reference project set. SimulinkCacheFolder: %s, SimulinkCodeGenFolder: %s\n', hdlProject.SimulinkCacheFolder, hdlProject.SimulinkCodeGenFolder);
%Check CodeGen Folder Existing
if( ~exist(chrCodeGenFolder,'dir') )
chrModelPath = [];
end
else
chrModelPath = [];
end
%% Checking Legacy C Code Path Existing
if( ~exist(char(chrLegacyCPath),'dir') )
chrLegacyCPath = [];
end
%%Create Polyspace Project & Run
hPSProject = Polyspace.PSProject(chrModelPath,chrLegacyCPath,chrTarget,chrCompiler);
fprintf('[PJK] Polyspace project created. ModelPath: %s, LegacyCPath: %s, Target: %s, Compiler: %s\n', chrModelPath, chrLegacyCPath, chrTarget, chrCompiler);
%%Run Polyspace for Bug Finder
[chrBFResult,chrCPResult] = hPSProject.run(Polyspace.PSMode.AllMode);
fprintf('[PJK] Polyspace project run. BFResult: %s, CPResult: %s\n', chrBFResult, chrCPResult);
%delete handle
hPSProject.delete();
fprintf('[PJK] Polyspace project deleted.\n');
if( exist(char(chrModelPath),'file') && exist(char(chrProjectPath),'file'))
removeReference(hdlProject,fileparts(char(chrProjectPath)));
hdlProject.SimulinkCacheFolder = '';
hdlProject.SimulinkCodeGenFolder = '';
fprintf('[PJK] Reference removed. SimulinkCacheFolder: %s, SimulinkCodeGenFolder: %s\n', hdlProject.SimulinkCacheFolder, hdlProject.SimulinkCodeGenFolder);
end
end
■■■■■■■■■■■■■■■■■■■■■ Error Log ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Generating MATLAB script with content:
cd 'D:\t2-master-work-Model\work\Model';runAll;
#################### Starting command output ####################
[PolySpace_ICU_SU2idL_FL-ICU-HMID-23-07] $ cmd.exe /C .matlab\YJKDTKes\run_matlab_command.bat "cd('D:\Jenkins\workspace\PolySpace_ICU_SU2idL_FL-ICU-HMID-23-07/.matlab/YJKDTKes');command_lKfQMwWL"
---------This MATLAB R2021a Version Supported -------------
[PJK] Current path: D:\t2-master-work-Model\work\Model\Utilities\M08
[PJK] Polyspace project created. ModelPath: , LegacyCPath: D:\t2-master-work-Model\work\Model\LegacyCProject\SU2idL_FL-ICU-HMID-23-07, Target: powerpc, Compiler: greenhills
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
{���� ��� �� ������ ߻���: rmdir
���͸��� ���ŵ��� ʾҽ��ϴ.
���� ߻: Polyspace.PSProject/saveLegacy (45�� ����)
rmdir(chrFolderPath,'s');
���� ߻: Polyspace.PSProject/run (63�� ����)
obj.saveLegacy(true);
���� ߻: f_PSGen (68�� ����)
[chrBFResult,chrCPResult] = hPSProject.run(Polyspace.PSMode.AllMode);
���� ߻: PSGen (53�� ����)
f_PSGen(tblPSList.ModelPath{index},
tblPSList.ProjectPath{index},tblPSList.LegacyCPath{index},tblPSList.Target{index},tblPSList.Compiler{index}
);
���� ߻: runAll (8�� ����)
PSGen;
���� ߻: command_lKfQMwWL (2�� ����)
cd 'D:\t2-master-work-Model\work\Model';runAll;
}
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
ERROR: MATLAB error Exit Status: 0x00000001
Build step 'Run MATLAB Command' changed build result to FAILURE
[PolySpace_ICU_SU2idL_FL-ICU-HMID-23-07] $ cmd /c call C:\Users\ADMINI~1\AppData\Local\Temp\jenkins10177263456194605002.bat
  댓글 수: 1
Walter Roberson
Walter Roberson 2024년 5월 17일
Approximate translation:
I configured the CLI in Jenkins using the API and ran f_PSGen.m below. An error occurred. Please analyze the error.

댓글을 달려면 로그인하십시오.

답변 (1개)

정근
정근 2024년 5월 17일
이동: Angelo Yeo 2024년 5월 17일
해결되었습니다.
감사합니다.

카테고리

Help CenterFile Exchange에서 Test Model Components에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by