Email or username:

Password:

Forgot your password?
172 posts total
devadideva

Японцы очень любят Blobcat'ов! {Misskey почему-то даже не подтягивает нормально данные с других инстансов Misskey, вроде количества комментариев и прочего}

devadideva

Emm... I didn't post anything related...

devadideva

Согласно TDD я должен написать сначала спецификацию, затем -- тесты, и только потом -- код. Но каким образом я могу написать тесты для функций, которые вызывают системные функции?

Ясно, что их нужно изолировать: для этого используются mock'и, stub'ы и иже с ними. Однако для этого я должен заранее знать, какие функции будут использоваться в реализации. Но это знать невозможно, поскольку сначала идут тесты! Более того, странно опираться при тестировании на реализацию, а не спецификацию: реализация может поменяться спустя некоторое время, а сигнатура тестируемой функции должна быть неизменной.

К тому же, сами вызываемые системные функции могут варьироваться: на Linux для определённой цели может использоваться epoll, а в FreeBSD для той же цели kqueue. Как написать тесты, чтобы их не пришлось бы переписывать для каждой платформы в отдельности? Хотелось бы написать их написать один раз, опираясь на спецификацию (которая пишется тоже один раз) и забыть о них.
@tech@mastodon.ml

Согласно TDD я должен написать сначала спецификацию, затем -- тесты, и только потом -- код. Но каким образом я могу написать тесты для функций, которые вызывают системные функции?

Ясно, что их нужно изолировать: для этого используются mock'и, stub'ы и иже с ними. Однако для этого я должен заранее знать, какие функции будут использоваться в реализации. Но это знать невозможно, поскольку сначала идут тесты! Более того, странно опираться при тестировании на реализацию, а не спецификацию: реализация может...

devadideva

В последнее время часто стали попадаться на глаза записи, в которых опущены почти все необходимые знаки пунктуации. Приходится перечитывать такие записи по несколько раз, чтобы понять их смысл. Иногда мне надоедает перечитывать, и я листаю дальше... Экономят на символах?

devadideva

Среди металлолома в сервисном центре оказалась SDRAM PC133 аж на 512MiB, которую мне отдали даром! Поставил, появилась ошибка KASLR; система запускалась, но с kernel panic, как и до этого с 128MiB.

Переустановка системы должна была помочь? Нашёлся один-единственный чистый CD-R; начинаю записывать образ и программа даёт сбой... Теперь диск не годен!

Осталось либо искать где-нибудь CD-RW, либо купить материнскую плату поновее в том же сервисном центре и так не париться, тем более, что у меня есть две планки PC3200 по 1GiB...

Среди металлолома в сервисном центре оказалась SDRAM PC133 аж на 512MiB, которую мне отдали даром! Поставил, появилась ошибка KASLR; система запускалась, но с kernel panic, как и до этого с 128MiB.

Переустановка системы должна была помочь? Нашёлся один-единственный чистый CD-R; начинаю записывать образ и программа даёт сбой... Теперь диск не годен!

Осталось либо искать где-нибудь CD-RW, либо купить материнскую плату поновее в том же сервисном центре и так не париться, тем более, что у меня есть две...

devadideva

-- "Это отвратительное извращение правосудия!"
"Урашечки, отвратительное извращение!"-- Тодд.

devadideva

Так, я тест прошёл. Я Копатыч!

devadideva

Снова еду в Москву! Правда, по плохому поводу...

devadideva

А у Вас спина белая!

devadideva

Кто может сказать, что это за мультфильм? :--s

ej at SPC

@devadideva@mk.phreedom.club Если собрался посмотреть, то жду потом отзыв ​:blobcatfingergun:​
я сам мульт не смотрел, знаю его по игре на сеге (в которой никак не мог пройти первый уровень), интересно стоит ли его посмотреть

devadideva

Что-то никак не соображу... В create_test_sourcelist (CMake) нельзя явно передать список что ли?
Хотелось бы, чтобы можно было так:

set(TESTS_TO_ADD test_driver.c test_function.c test.method.c)
create_test_sourcelist(TEST_SOURCELIST ${TESTS_TO_ADD})

Но вынуждают делать так:
create_test_sourcelist(TEST_SOURCELIST test_driver.c test_function.c test.method.c)

В сущности нужно раскрыть список в последовательность (понятия sequence в CMake нет, я так выразился исключительно для ясности), но как это сделать что-то нигде не найду...

Что-то никак не соображу... В create_test_sourcelist (CMake) нельзя явно передать список что ли?
Хотелось бы, чтобы можно было так:

set(TESTS_TO_ADD test_driver.c test_function.c test.method.c)
create_test_sourcelist(TEST_SOURCELIST ${TESTS_TO_ADD})

Но вынуждают делать так:
create_test_sourcelist(TEST_SOURCELIST test_driver.c test_function.c test.method.c)

В сущности нужно раскрыть список в последовательность (понятия sequence в CMake нет, я так выразился исключительно для ясности), но как это сделать...

devadideva

Оказалось, я посреди CMakeLists.text случайно набрал символ n, когда нажимал C-n... Всё работает. Невнимательность, моя невнимательность!..

devadideva

Вечно смотреть можно на три вещи: огонь, воду и... кота!

Go Up