Constantine
🦥Alex Fails
про тесты рендереров вообще тема очень туманная
Constantine
Вот только если у меня не работает балка под названием корневой комбобокс, у меня дом сломался и я это вижу
Igor
Andrei
Юнит-тесты и являются по назначению регрессионными. Из всех регрессионых — они самые детальные. И по этой же причине — они обычно whitebox, и пишутся программистом, и дёргают не за публичные интерфейсы. Я здесь исключительно о практике говорю.
Igor
А какие фреймворки есть в цпп под функциональные, системные и регресионные? Теория в универе это замечательно, но инструмента мне дать так и не смогли :/
Andrei
Всё в кучу. Регрессионность ортогональна функциональности.
Andrei
Gtest/gmock. Но это скорее для unit тестов. Для интеграционных или функциональных по понятным причинам какой-то универсальный фреймворк написать сложно.
Igor
Gtest/gmock. Но это скорее для unit тестов. Для интеграционных или функциональных по понятным причинам какой-то универсальный фреймворк написать сложно.
ну, вот, как-то так да(
на лекциях нам много рассказывали какая замечательная штука функциональные/системные/интеграционные тесты, но боевой пример был всего один, с вебом, когда какая-то фиговина эмулировала нажатия на кнопочки и переходы по ссылочкам, и проверяла что попала на ту страницу куда нужно
это было очень здорово, но как функционально/системно/интеграционно тестировать какую-нибудь передачу видеопотока, работу CAD, и прочие прочие области далёкие от переходов по страницам, мне не смогли объяснить(
Constantine
ну, вот, как-то так да(
на лекциях нам много рассказывали какая замечательная штука функциональные/системные/интеграционные тесты, но боевой пример был всего один, с вебом, когда какая-то фиговина эмулировала нажатия на кнопочки и переходы по ссылочкам, и проверяла что попала на ту страницу куда нужно
это было очень здорово, но как функционально/системно/интеграционно тестировать какую-нибудь передачу видеопотока, работу CAD, и прочие прочие области далёкие от переходов по страницам, мне не смогли объяснить(
забудьте, чему вас учили в университетах (с)
Deleted Account
Berkus
Чуваки, плюсоните плс https://gitlab.kitware.com/cmake/cmake/issues/16708#note_326478
Deleted Account
Deleted Account
Berkus
Constantine
Constantine
Я с трудом представляю доктора наук, который на первой лекции по прикладному ПО скажет "сейчас я вас научу правильно ставить костыли"
Constantine
Но это уже какой-то полный офтоп предлагаю /thread
Constantine
А вот как в той же Qt написаны unit-test надо посмотреть
Stanislav
https://miyuki.github.io/2017/10/04/gcc-archaeology-1.html
Stanislav
нркмны
Andrei
Andrei
В хороших учат.
Constantine
Stanislav
Stanislav
Constantine
вопрос по coroutines: а зачем вообще нужны stackless coroutines если есть futures?
Berkus
но это же разные вещи
Andrei
Ты про правильно приготовленные фьючерсы или про плюсовые?
Stanislav
блин, cppcon не торопится с видосиками
Stanislav
неделю уже жду видос с нишановым
Stanislav
Constantine
мне почему-то показалось, что stackless coroutines будут чистым сахаром над future chain
Stanislav
Constantine
Constantine
в отличие от буста, фолли не обмазано макросами и замечательно читается
Constantine
типа снял фильм по мотивам? как "Темная башня" ?
практически; взял реализацию, мне нужна была исключительно версия со строгой гарантией запуска на основном потоке для then и входной гарантией, что promise и его future создается на основном потоке; кроме того, сам по себе настраиваемый executor из folly мне не нужен, поскольку есть система передачи сообщений на основной поток
Vitalii
Я считаю, что не пошёл бы ты.
Vitalii
По теме: если хочешь дискасс, не начинай с "только дебилы...".
Constantine
Автор работал во времена Visual Studio 6.0 и такая конвенция тогда использовалась для защиты от = вместо ==
Vitalii
Невнимательность, усталость и прочие человеческие факторы никто не отменял.
Constantine
Наследие никто не отменял
Berkus
от человеческих факторов это защищает, а так надо конечно -Wall -Wextra -Werror использовать от подобных ошибок
Constantine
На самом деле, я лично конвенцией запрещаю однократно использованные переменные, кроме геометрии и прочего тяжелого кода, требующего объяснений, и ошибка сама по себе исправляется
if (mp.notifySignalIndex() != -1)
Berkus
Constantine
Вы не программировали на Visual Studio 6.0
Constantine
Constantine
Constantine
17 стандарт
Anonymous
да вроде
Anonymous
if(cond; expr) вроде. cond и expr могут совпадать в некоторых случаях
Constantine
Constantine
как вариант,
auto dispatch_signal = [&](int signal) {
//реализация
};
Berkus
Constantine
Watch: eax
Constantine
Даже если не показалось в auto, всегда можно посмотреть, что в eax
Constantine
Возврат в стандартных конвенциях всегда в eax
Constantine
Указатель в watch копируем, профит
Constantine
Я в экстремальной форме фанат читаемость кода » удобства отладки
Constantine
Олимпиадное прошлое, чтение распечаток и так далее
Timur
Возврат в стандартных конвенциях всегда в eax
не всегда. Даже в 64-битном режиме есть XMM0 как минимум для double. Но и в зависимости от обстоятельст могут быть вовлечены rdx, xmm1. (А уж про 32-битный режим я и не говорю).
Ну т.е. _всегда_ полезна поддержка отладчика при визуализации возвращаемого значения, и простого watch eax не достаточно
Berkus
eax, rax, eax:edx д
Berkus
rax:rdx по идее даже может быть
Anonymous
ребят, а кто с openssl работал?
нужон sha256, sha512 и hmac, а я туплю и не понимаю чому не робит(
есть примерчики какие нибудь?
Berkus
там есть тесты прямо в сорцах
Berkus
если тебе нужны только хэши возьми либу поадекватнее, openssl говно полное