万博1manbetx在并行模式下运行时,Simulink测试迭代问题

3次浏览(过去30天)
撒母耳Narcisse
撒母耳Narcisse 2021年8月31日
编辑: 撒母耳Narcisse2021年8月31日
背景:
为了控制工程的目的,我正在以编程的万博1manbetx方式运行一些Simulink测试。首先,每个测试使用预加载回调来加载变量和设置缓存文件夹来管理模拟工件。然后并行或串行地运行每一组测试。
行动:
我尝试在组中的1个测试中添加参数迭代。(参见#1)它在simulink测试管理器GUI中运行良万博1manbetx好。它按顺序编程地运行得很好,但当我试图并行运行它时,意外发生了。
预期:
它将所有测试分成组,并在并行池中运行,没有像#3那样的任何问题,并在测试结果中显示迭代#4。
结果:
它将所有测试分成组并在并行池中运行,但它有一个类似#2的取回下一个问题。
任何想法?
simu万博1manbetxlink测试迭代可以在并行模式下运行吗?
信息:
1 .为了避免每个测试都有数据并发问题,我确实使用simulink测试回调为每个测试创建了一个工件缓存文件夹。万博1manbetx但我并没有每次迭代都这样做,我希望这没关系,我有点迷失了如何做。但是,我认为这可能是相关的。裁判:
https://stackoverflow.com/questions/64824205/how-to-fix-conflicting-万博1manbetxsimulink-simulation-accelerated-artificats-issue-when-run
//www.tianjin-qmedu.com/help/万博1manbetxsimulink/ug/model-reference-simulation-targets-1.html
2 .这是我读过的一些相关文献
//www.tianjin-qmedu.com/help/sltest/ug/run-multiple-combinations-of-tests-using-iterations.html
//www.tianjin-qmedu.com/help/sltest/ref/sltest.testmanager.testcase.additeration.html
3.我正在使用来自matlab.unittest.TestRunner插件的runInParallel命令。我还使用了matlab.unittest.plugins.DiagnosticsRecordingPlugin。
代码和日志:
在这里,我尝试使用参数覆盖和迭代将一个测试分为两个迭代。其他测试均为单项测试。
I = 1:6
如果正则表达式(要求{我},“FOO”“一次”
J = 1:2% 7
生成不同的场景
Foo = TS_Foo (j);
%%
currParamName = char(strcat(“参数设置”字符串(j)));
ps{i,j} = addParameterSet(tcase{i},“名字”, currParamName);
po{i,j} = addParameterOverride(ps{i,j},“一个”, Foo.A);
po{i,j} = addParameterOverride(ps{i,j},“B”, Foo.B);
po{i,j} = addParameterOverride(ps{i,j},“C”, Foo.C);
po{i,j} = addParameterOverride(ps{i,j},' D ', Foo.D);
% %的迭代
创建测试迭代对象
testtr = sltest.testmanager. testteration ();
%在此迭代中使用参数集
testItr.setTestParam (“ParameterSet”, currParamName);
将迭代对象添加到测试用例
addIteration (tcase{我},testItr currParamName);
结束
在这里,我运行6个测试,其中1个测试有2个并行迭代。所以总共是7个测试。
分裂测试分为7组,在6名工人身上进行。
错误使用并行。FevalFuture/fetchNext(第255行)
完成函数计算时出现错误。
错误
matlab.unittest.internal.TestRunnerExtension / runInParallel > printFinishedOutput
(第85行)
groupIdx = fetchNext(组);
错误在matlab.unittest. inner . testrunnerextension /runInParallel(第58行)
printFinishedOutput(团体、流);
错误在runTest中(第141行)
results = runInParallel(运行器,套件);
引起的由:
错误使用
matlab.unittest.plugins.testrunprogress.ConciseProgressPlugin / runTestClass
(59行)
MATLAB: unittest: TestRunProgressPlugin:奔跑”、参数{0}一定是
一个标量。
#3这里我并行运行了35个测试,没有任何迭代,没有任何问题。
我还并行运行了6个测试,没有迭代,没有问题。
2021 - 08 - 26 t18:39:18.9495254z分裂测试分为22组,在8名工人身上进行。
2021-08-26T19:37:12.5841596Z ans =
2021 - 08 - 26 - t19:37:12.5842363z
2021-08-26T19:37:12.5842546Z 35x6表
2021 - 08 - 26 - t19:37:12.5842637z
2021 - 08 - 26 t19:37:12.6891297z名字通过了失败的不完整的持续时间细节
2021 - 08 - 26 - t19:37:12.6913253z__________________________________________________________________________________________________________
2021 - 08 - 26 - t19:37:12.6913549z
2021 - 08 - 26 - t19:37:12.6919980z'API_Test_Files28 > API_Test_Suites/MUT_Harness_****#1'真正的1824.4[1 x1 struct]
...
...
2021 - 08 - 26 - t19:37:12.6943686z'API_Test_Files28 > API_Test_Suites/MUT_Harness_****#35'真正的323.12[1 x1 struct]
在这里,我以连续模式运行6测试加上迭代。
7×6表
的名字通过了失败的不完整的持续时间细节
_______________________________________________________________________________________________________________________________________
'API_Test_Files49 > API_Test_Suites/MUT_Harness_****'真正的1002.2(1×1结构)
'API_Test_Files49 > API_Test_Suites/MUT_Harness_***(TableIteration=ParameterSet1)'真正的502.1(1×1结构)
'API_Test_Files49 > API_Test_Suites/MUT_Harness_***(TableIteration=ParameterSet2)'真正的277.4(1×1结构)

答案(0)

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!