Saya memiliki 29 Tes Simulink/Matlab. Ini memiliki banyak model referensi yang berbeda. Sebelum menjalankan simulasi 20 detik , ia harus memuat semua model referensi dan membuat banyak artefak simulasi di folder kerja. Banyak model referensi dibagikan di antara pengujian.

Saat menjalankan satu tes pada satu waktu, saya tidak memiliki masalah, semua artefak simulasi dibuat dan digunakan untuk menjalankan berbagai simulasi. Semuanya Lulus.

Saat menjalankan semuanya melalui pemrosesan paralel. Saya punya masalah. Beberapa artefak simulasi tidak dibuat atau hilang, oleh karena itu simulasi saya gagal bahkan sebelum dijalankan. Tapi yang mengejutkan, tidak semuanya 29 gagal. Itu benar-benar acak, terakhir kali 17, lain kali 22. Dan bahkan berlari sekali dengan 0 gagal.

Catatan lain, saya hanya memiliki masalah ini saat menjalankannya di komputer yang dihosting sendiri di Azure-Pipelines untuk tujuan CI.

Saya ingin memperbaiki masalah ini dan mereproduksi hasil tes lulus/gagal yang stabil dari satu per satu waktu, tetapi pada proses paralel yang dijalankan. Bagaimana saya melakukannya?

Kesalahan:

2020-11-03T03:16:27.1083996Z Making simulation target "Foo_src_sfun", ...
2020-11-03T03:16:27.1084227Z 
2020-11-03T03:16:27.1084361Z 
2020-11-03T03:16:27.1084502Z 
2020-11-03T03:16:27.1084789Z Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
2020-11-03T03:16:27.1085188Z Copyright (C) Microsoft Corporation.  All rights reserved.
2020-11-03T03:16:27.1085441Z 
2020-11-03T03:16:27.1085815Z NMAKE : fatal error U1052: file 'Foo_src_sfun.mak' not found
2020-11-03T03:16:27.1086175Z Stop.
2020-11-03T03:16:27.1089399Z ================================================================================
2020-11-03T03:16:27.1089936Z Error occurred in TestSim/testSim(File=test_FooTest1_slx) and it did not run to completion.
2020-11-03T03:16:27.1090308Z 
2020-11-03T03:16:27.1090497Z     ---------
2020-11-03T03:16:27.1090720Z     Error ID:
2020-11-03T03:16:27.1090946Z     ---------
2020-11-03T03:16:27.1091254Z     'Slvnv:simcoverage:SimulationFailed'
2020-11-03T03:16:27.1091481Z 
2020-11-03T03:16:27.1091669Z     --------------
2020-11-03T03:16:27.1091919Z     Error Details:
2020-11-03T03:16:27.1092186Z     --------------
2020-11-03T03:16:27.1092419Z     Error using cvsim
2020-11-03T03:16:27.1092659Z     Simulation failed
2020-11-03T03:16:27.1092864Z     
2020-11-03T03:16:27.1093112Z     Error in testRunner (line 145)
2020-11-03T03:16:27.1093477Z             [cvdo, simOutRes] = cvsim(testObj,paramStruct) ;
2020-11-03T03:16:27.1093765Z     
2020-11-03T03:16:27.1094034Z     Error in TestSim/testSim (line 30)
2020-11-03T03:16:27.1094373Z                 [cvdo, simOutRes, ErrLog] = testRunner(File,20);
2020-11-03T03:16:27.1094638Z     
2020-11-03T03:16:27.1094830Z     Caused by:
2020-11-03T03:16:27.1095168Z         Error using autobuild_kernel>autobuild_local (line 219)
2020-11-03T03:16:27.1095612Z         Unable to create mex function 'Foo_src_sfun.mexw64'
2020-11-03T03:16:27.1096006Z         required for simulation.
2020-11-03T03:16:27.1096427Z ================================================================================

Pembaruan:

Saya menemukan bahwa saya juga memiliki jenis kesalahan lain, mengarah pada hasil yang hampir sama.

2020-11-03T03:18:36.1668328Z Making simulation target "Foo2_src_sfun", ...
2020-11-03T03:18:36.1668601Z 
2020-11-03T03:18:36.1668735Z 
2020-11-03T03:18:36.1669087Z 'Foo2_src_sfun.bat' is not recognized as an internal or external command,
2020-11-03T03:18:36.1669483Z operable program or batch file.
2020-11-03T03:18:36.1669685Z 
2020-11-03T03:18:36.1669892Z >>Removing MiL paths...
2020-11-03T03:18:36.1670104Z >>Done
1
Weltgeist 3 November 2020, 16:44

1 menjawab

Jawaban Terbaik

Saya membuat runSingleTest() yang saya jalankan sebelum menjalankan paralel saya. Sebelum menjalankannya, buat semua file mexw64 referensi model yang diperlukan di folder **/work/sim_artifact.

Oleh karena itu ketika paralel dijalankan mereka tidak perlu membuat file baru, mereka menggunakan apa yang sudah ada atau memperbarui file.

Saya tidak mengalami masalah sejak perubahan itu. Hanya waktu berjalan yang lebih lama karena tes berulang itu.

0
Weltgeist 4 November 2020, 19:59