Skip to content

Latest commit

 

History

History
78 lines (57 loc) · 2.2 KB

Useful.md

File metadata and controls

78 lines (57 loc) · 2.2 KB

S21_STRING+

gcc --coverage -o test_program test_s21_string.c s21_string.c -lcheck
lcov -t test_program -o test_program.info -c -d .
genhtml -o report test_program.info
cd report && pyserv

Запуск с библиотекой

~/.brew/Cellar/gcc/14.2.0_1/bin/gcc-14 -o test_program test_s21_string.c s21_string.c -I/Users/suzetten/.brew/Cellar/check/0.15.2/include -L/Users/suzetten/.brew/Cellar/check/0.15.2/lib -lcheck 

Code samples

#include <stdio.h>
#include <stdlib.h>
#include <check.h>

// Определение теста
START_TEST(_test_1) {
    ck_assert_int_eq(9, 9);  // Пример проверки на равенство
}
END_TEST

// Создание тестового набора
Suite *test_suite() {
    Suite *s = suite_create("Tests for tests"); // Название тестового набора
    TCase *tc = tcase_create("Tests for tests42"); // Название набора тестов

    tcase_add_test(tc, _test_1); // Добавление теста _test_1 в набор tc

    suite_add_tcase(s, tc); // Добавление набора тестов в тестовый набор

    return s; // Возвращаем готовый набор тестов
}

int main(void) {
    int number_failed; // Переменная для хранения количества неудачных тестов
    Suite *s = test_suite(); // Получаем тестовый набор
    SRunner *sr = srunner_create(s); // Создаем раннер для запуска тестов

    srunner_run_all(sr, CK_NORMAL); // Запуск всех тестов (CK_NORMAL - обычный вывод)
    number_failed = srunner_ntests_failed(sr); // Получаем количество неудачных тестов

    srunner_free(sr); // Освобождаем память
    return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; // Успех или ошибка
}

Links

https://ps-group.github.io/cxx/coverage_gcc
https://github.com/ogpihta/s21_string.h/tree/main
https://github.com/gcc-mirror/gcc/blob/6bebb3b0f3fa422d248a1c2075da0598a44c7320/libgcc/memcmp.c#L5