-post-analysis-command
)Задайте команду или скрипт, который будет выполнен после анализа
Задайте команду или скрипт, который будет выполнен после анализа.
Пользовательский интерфейс (только для настольных продуктов): В строении проекта опция находится на узле Advanced Settings.
Командная строка и файл опций: Используйте опцию -post-analysis-command
. См. «Информация о командной строке».
Создайте скрипты для задач, которые вы хотите выполнить после Polyspace® анализ.
Например, вы хотите получить уведомление по электронной почте о завершении анализа Polyspace. Создайте скрипт, который отправляет электронное письмо и используйте эту опцию для выполнения скрипта после анализа Polyspace.
По умолчанию нет
Введите полный путь к команде или скрипту, или щелкните, чтобы перейти к местоположению команды или скрипта. После анализа этот скрипт выполняется.
Скрипт выполняется в папке результатов Polyspace. В своем скрипте рассмотрите папку результатов как текущую папку для относительных путей к другим файлам.
Для скрипта Perl, в Windows®, укажите полный путь к исполняемому файлу Perl и полный путь к скрипту. Например, чтобы задать скрипт Perl send_email.pl
который отправляет электронное письмо после завершения анализа, введите
. Здесь, polyspaceroot
\ sys\perl\win32\bin\perl.exe <absolute_path>
\ send _ email.pl
- местоположение текущей установки Polyspace, например polyspaceroot
C:\Program Files\Polyspace\R2019a\
, и <absolute_path>
- расположение скрипта Perl.
Если вы выполняете верификацию на удаленном сервере, после верификации программное обеспечение выполняет вашу команду на сервере, а не на рабочем столе клиента. Если ваша команда выполняет скрипт, скрипт должен присутствовать на сервере.
Например, если вы задаете команду, /local/utils/send_mail.sh
, скрипт Shell send_email.sh
должен присутствовать на сервере в /local/utils/
. Программа не копирует скрипт send_email.sh
от рабочего стола до сервера перед выполнением команды. Если скрипт отсутствует на сервере, возникает ошибка. Иногда существует несколько серверов, которые MATLAB® Планировщик заданий может запустить верификацию. Поместите скрипт на каждый из серверов, так как вы не контролируете, какой сервер в конечном счете запустит вашу верификацию.
Чтобы протестировать использование этой опции, запустите следующий скрипт Perl из папки, содержащей проект Polyspace (.psprj
файл). Скрипт анализирует последний файл журнала Polyspace в папке Module_1\CP_Result
и записывает текущее имя проекта и дату в файл report.txt
. Файл сохранен в Module_1\CP_Result
.
foreach my $file (`ls Module_1\\CP_Result\\Polyspace_*.log`) { open (FH, $file); while ($line = <FH>) { if ($line =~ m/Ending at: (.*)/) { $date=$1; } if ($line =~ m/-prog=(.*)/) { $project=$1; } } } my $filename = 'report.txt'; open(my $fh, '>', $filename) or die "Could not open file '$filename' $!"; print $fh "date=$date\n"; print $fh "project=$project\n"; close $fh; |
В Linux®можно задать скрипт Perl для этой опции.
В Windows вместо непосредственного указания скрипта Perl укажите .bat
файл, который вызывает Perl и запускает этот скрипт. Для образца, .bat
файл может содержать следующую линию (при условии, что .bat
файл и .pl
файл находится в папке проекта Polyspace). В зависимости от установки MATLAB измените путь на perl.exe
соответственно.
"C:\Program Files\MATLAB\R2018b\sys\perl\win32\bin\perl.exe" command.pl |
Запустите Code Prover. Проверьте, что папка Module_1\CP_Result
содержит файл report.txt
с именем и датой проекта.
Параметр: -post-analysis-command |
Значение: Путь к исполняемому файлу или команде в кавычках |
По умолчанию нет |
Пример в Linux (Bug Finder):
Polyspace Bug Finder -sources |
Пример в Linux (Code Prover):
Polyspace Code Prover -sources file_name |
Пример в Linux (Bug Finder Server):
polyspace-bug-finder-server -sources |
Пример в Linux (Код Prover Server):
Полипространство -code-prover-server -sources |
Пример в Windows:
Polyspace Bug Finder -sources |
Обратите внимание, что в Windows вы используете полный путь к исполняемому файлу Perl.