Conversation
| addons: | ||
| apt: | ||
| packages: | ||
| - valgrind |
There was a problem hiding this comment.
valfrind на CI выдал большое количество ошибок
| - gcc --coverage -g -Wall -Wextra -std=c11 fork_test.c -L. -lfork_patterns -lpatterns -o fork_test | ||
| - LD_LIBRARY_PATH="." time ./test | ||
| - LD_LIBRARY_PATH="." time ./fork_test | ||
| - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cpplint --filter=-readability,-whitespace,-legal/copyright,-build *.c *.h ; fi |
There was a problem hiding this comment.
чтобы не копировать if постоянно - можно было бы вынести в отдельный скрипт
| } | ||
| } | ||
|
|
||
| pid_t *pid = (pid_t *)malloc(core_count * sizeof(pid_t)); |
There was a problem hiding this comment.
что если malloc вернёт ошибку?
|
|
||
| for (size_t c = 0; c < array_size; ++c) { | ||
| if (array[c] == NULL) { | ||
| exit(EINVAL); |
There was a problem hiding this comment.
делать exit внутри цикла - моветон
| } | ||
|
|
||
| if (pid[c] == 0) { | ||
| close(fd[0]); |
There was a problem hiding this comment.
стоило вынести обработку в отдельную функцию
| @@ -0,0 +1,11 @@ | |||
| //#include "patterns.h" | |||
There was a problem hiding this comment.
зачем нужен этот комментарий?
| диграфов :(; в противном случае переписка признается пессимистичной. | ||
| */ | ||
|
|
||
| #define SIZE_T_LINE_LENGTH 128 |
There was a problem hiding this comment.
код этой тестирующей программы практически ничем не отличается от предыдущей тестирующей программы
|
|
||
| size_t read_array(char ***array, const char *file_name); | ||
|
|
||
| bool emotion_test(const char **array, const size_t array_size, |
There was a problem hiding this comment.
заголовочный файл должен быть единым для обеих библиотек
конкретная реализация должна выбираться на этапе линковки
| char **array; | ||
| size_t array_size = 0; | ||
|
|
||
| array_size = read_array(&array, "test1.txt"); |
There was a problem hiding this comment.
из названий файлов непонятно, какой они окраски :)
- стоило не копировать код, а разбить все тесты на позитивные/негативные (например, разбив их на подпапки или заведя доп. конфигурационный файл).
| free(array); | ||
|
|
||
| array_size = read_array(&array, "test2.txt"); | ||
| assert(!emotion_test((const char **)array, array_size, ":)", ":(")); |
There was a problem hiding this comment.
это интеграционные тесты
стоило также добавить юнит-тесты на отдельные функции - например, подсчёта точного числа диграмм
No description provided.