API를 사용하여 젠킨스에서 CLI를 구성하여 아래 f_PSGen.m을 실행하였습니다. 오류가 발생하여, 오류분석 부탁드립니다.
1 次查看(过去 30 天)
显示 更早的评论
■■■■■■■■■■■■■■■■■■■■■ 소스 코드 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
% 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
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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Test Model Components 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!