Command/script to apply after the end of the code verification (-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. Здесь, 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 (Bug Finder): Polyspace Bug Finder - источники file_name - "отправьте аналитическую команду" 'pwd '/send_email.pl
Пример в Linux (Программа автоматического доказательства Кода): Polyspace Code Prover - источники file_name - "отправьте аналитическую команду" 'pwd '/send_email.pl
Пример в Linux (Сервер Bug Finder): сервер средства поиска ошибки полипробела - источники file_name - "отправьте аналитическую команду" 'pwd '/send_email.pl
Пример в Linux (Сервер Программы автоматического доказательства Кода): сервер программы автоматического доказательства полипробела кода - источники file_name - "отправьте аналитическую команду" 'pwd '/send_email.pl
Пример в Windows: Polyspace Bug Finder - источники file_name - "отправьте аналитическую команду" "C:\Program Files\MATLAB\R2015b\sys\perl\win32\bin\perl.exe" "C:\My_Scripts\send_email"

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