Команда/скрипт, чтобы применяться после конца верификации кода (-post-analysis-command)

Задайте команду или скрипт, который будет выполняться после анализа

Описание

Задайте команду или скрипт, который будет выполняться после анализа.

Установите опцию

Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция находится на узле Advanced Settings.

Командная строка: Используйте опцию -post-analysis-command. Смотрите информацию о Командной строке.

Почему использование эта опция

Создайте скрипты для задач, которые вы хотите выполняемый после анализа Polyspace®.

Например, вы хотите быть уведомленными по электронной почте, что анализ Polyspace закончен. Создайте скрипт, который посылает электронное письмо, и используйте эту опцию, чтобы выполнить скрипт после анализа Polyspace.

Настройки

Никакое значение по умолчанию

Введите полный путь в команду или скрипт или нажатие кнопки, чтобы перейти к местоположению команды или скрипта. После анализа выполняется этот скрипт.

Для скрипта Perl, в Windows®, задают полный путь к исполняемому файлу Perl, сопровождаемому полным путем к скрипту. Например, чтобы задать скрипт Perl send_email.pl, который посылает электронное письмо однажды анализ, закончен, введите polyspaceroot\sys\perl\win32\bin\perl.exe <absolute_path>\send_email.pl. Здесь, polyspaceroot является местоположением текущей установки Polyspace, такой как C:\Program Files\Polyspace\R2019a\, и <absolute_path> является местоположением скрипта Perl.

Советы

Выполнение аналитических команд сообщения на сервере

Если вы выполняете верификацию на удаленном сервере, после того, как верификация, программное обеспечение выполнит вашу команду на сервере, не на клиентском рабочем столе. Если ваша команда выполняет скрипт, скрипт должен присутствовать на сервере.

Например, если вы задаете команду, /local/utils/send_mail.sh, Сценарий оболочки, send_email.sh должен присутствовать на сервере в /local/utils/. Программное обеспечение не копирует скрипт send_email.sh с вашего рабочего стола на сервер прежде, чем выполнить команду. Если скрипт не присутствует на сервере, вы сталкиваетесь с ошибкой. Иногда, существует несколько серверов, что Планировщик MATLAB® Job может работать на верификации. Поместите скрипт в каждый из серверов, потому что вы не управляете, какой сервер в конечном счете запускает вашу верификацию.

Выполнение аналитических команд сообщения в пользовательском интерфейсе Polyspace

Чтобы протестировать использование этой опции, запустите следующий скрипт 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

Запустите Программу автоматического доказательства Кода. Проверяйте, что папка Module_1\CP_Result содержит файл report.txt с названием проекта и датой.

Информация о командной строке

Параметр: -post-analysis-command
Значение: Путь к исполняемому файлу или команде в кавычках
Никакое значение по умолчанию
Пример в Linux (средство поиска ошибки): polyspace-bug-finder -sources file_name -post-analysis-command `pwd`/send_email.pl
Пример в Linux (программа автоматического доказательства кода): polyspace-code-prover -sources file_name -post-analysis-command `pwd`/send_email.pl
Пример в Linux (сервер средства поиска ошибки): polyspace-bug-finder-server -sources file_name -post-analysis-command `pwd`/send_email.pl
Пример в Linux (сервер программы автоматического доказательства кода): polyspace-code-prover-server -sources file_name -post-analysis-command `pwd`/send_email.pl
Пример в Windows: polyspace-bug-finder -sources file_name -post-analysis-command "C:\Program Files\MATLAB\R2015b\sys\perl\win32\bin\perl.exe" "C:\My_Scripts\send_email"

Обратите внимание на то, что в Windows, вы используете полный путь для исполняемого файла Perl.