-
astra@s1-tests:~$ history | grep install 55 sudo apt-get install python3-docutils 106 sudo apt-get install binutils 117 sudo apt-get install libc6-dev 146 sudo apt-get install rhash XXX sudo apt-get install time
Позже добавили ещё time для perftest: там проверяется
which time
.Edited by Иванишин Владислав Анатольевич -
jq -r < sbom-tests.json '.tests[] | select (.code == "FAIL") '
После переноса потребовалось очистить
testsuite-f4b6ad6/testsuite/tests/sbom/Output/
.Edited by Иванишин Владислав Анатольевич -
astra@s1-tests:~$ /opt/safec8-115-cconly/x86_64-pc-linux-gnu/bin/gcc --version gcc (ISP RAS SAFEC 20240604 b642f3502ce1) 8.5.0 20210514 (experimental) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
astra@s1-tests:~/safec$ ls installation-test README-safec8.pdf safec-test-job.sh testsuite-2024-07-24-f4b6ad6.tar.gz testsuite-f4b6ad6
astra@s1-tests:~/safec$ ./safec-test-job.sh ... + retcode=0 + exit 0
astra@s1-tests:~/safec$ ls -1 installation-test lit-results-raw README-safec8.pdf safec-test-job.sh test_result.txt testsuite-2024-07-24-f4b6ad6.tar.gz testsuite-f4b6ad6
Edited by Иванишин Владислав Анатольевич -
Неформальная инструкция, которую передал в чат разработчиков УС на основе того, что записал выше
Поставил компилятор и тесты на
s1-tests
.Компилятор — в
/opt/safec8-115-cconly
(дополнительно есть ещё/opt/safec
, — это вариант с патченным линкером и загрузчиком для поддержки динамической рандомизации).Тесты в директории
safec
в хомаре пользователяastra
. Там же пускачsafec-test-job.sh
. Чтобы тестировать другой компилятор, нужно в нём поменять переменныеarch
,compiler
,compiler_dir
,compiler_exe
. Скрипт маленький, там всё довольно очевидно. Он вызывает следующий скрипт,testrunner.sh
по одному разу для каждого из классов компилятора (3, 2, 1 + отдельно "sbom"). В свою очередь, он использует наш питоновский модульrequirements
для выбора тестов согласно спецификации класса (testsuite/doc/testsuite.rst
) и дополнительным фильтрам и вызывает LIT. Сами тесты (включая копию LIT) распакованы в поддиректориюtestsuite-f4b6ad6
. Исходный архив лежит рядом, если потребуется чистая копия.Тесты написаны подобно тестам в LLVM — с использованием LIT и Filecheck. При модификации тестового набора можно руководствоваться официальной документацией на эти утилиты.
astra@s1-tests:~$ /opt/safec8-115-cconly/x86_64-pc-linux-gnu/bin/gcc --version gcc (ISP RAS SAFEC 20240604 b642f3502ce1) 8.5.0 20210514 (experimental) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
astra@s1-tests:~/safec$ ls -1 installation-test README-safec8.pdf safec-test-job.sh testsuite-2024-07-24-f4b6ad6.tar.gz testsuite-f4b6ad6
Нужны некоторые зависимости. Установил их
sudo apt-get install python3-docutils binutils libc6-dev rhash
Запуск тестирования БК на тестовом наборе через пускач:
astra@s1-tests:~/safec$ ./safec-test-job.sh ... + retcode=0 + exit 0
Код завершения 0 означает, что все тесты прошли.
В результате запуска скрипта помимо вывода на стандартные потоки появляется директория
lit-results-raw
и файликtest_result.txt
с резюме итогов тестирования.astra@s1-tests:~/safec$ ls -1 installation-test lit-results-raw README-safec8.pdf safec-test-job.sh test_result.txt testsuite-2024-07-24-f4b6ad6.tar.gz testsuite-f4b6ad6
Анализ падающих тестов удобно начинать с подобных запросов (
jq
тоже установил):jq -r < lit-results-raw/level-3.json '.tests[] | select (.code == "FAIL") '
Edited by Иванишин Владислав Анатольевич
Please register or sign in to comment