Berkus
поэтому вот
Berkus
это проще сделать через отдельный if (CMAKE_BUILD_TYPE STREQUAL "Debug") add_definitions(-D_DEBUG) endif() так по-моему понятней что это ваш личный левый флаг
Vitaliy
На VS не было с этим проблем никогда, вот буду знать теперь)
Berkus
для вижака этот флаг как родной)
Nikita
Баги вижака. Весёлые, смешные https://godbolt.org/g/pxW7Fz
Vitaliy
Подскажите как в gtest написать тест на assert ?
Vitaliy
Нашёл EXPECT_DEATH, но там надо обязательно regex, а мне нужен любой assert. Звездочка как regex не пашет.
Egor
Что написать?
Egor
Тест, что assert упал?
Anonymous
Ага.
Anonymous
(по-моему это какой-то не совсем подход)
Anonymous
Ассерты же выключаются в релизных сборках и предназначены, как некоторый механизм отладки.
Berkus
Тест, что assert упал?
если ассерт упал то программа завершается, вот и тестируй на abnormal child process termination
Anonymous
Я так предполагаю, что у него все тесты гонятся в одноим процессе и одном бинарнике.
Alexander "SonnySlave"
Те же исключения можно ловить expect_any_throw
Anonymous
Алсо, где у gtest этих доки? Что-то залез в README.md, а не вижу.
Anonymous
В исходниках?
Berkus
https://github.com/google/googletest/issues/237 хых, отлично бл
Vitaliy
Да, в релизе тесты будут валиться, всё логично.
Vitaliy
В исходниках?
Да, там хорошие доки
FailsBot
Search results for "assert" 1. assert 2. assert
FailsBot
http://en.cppreference.com/w/cpp/types/is_base_of
Alexander "SonnySlave"
кстати, товарищи, есть вопрос по поводу Conan. Предположим, что есть либа, которая вам нужна в качестве зависимости. Но вам она нужная собранная с каким-то специфичным флагом (предположим, что с каким-нибудь -ffast-math). Вопрос: 1) нужно ли оно вам такое вообще? поддержка кастомных опций компиляции 2) В каком виде вы бы хотели задавать эти самые опции компиляции?
Berkus
как features в карго
Berkus
#извините
Alexander "SonnySlave"
как features в карго
можешь расписать, как оно там?
Berkus
можешь расписать, как оно там?
foo = {"1.2.2", features = ["fast-math", "go-even-faster"]}
Alexander "SonnySlave"
foo = {"1.2.2", features = ["fast-math", "go-even-faster"]}
А если либа не работает с данными флагами?
Alexander "SonnySlave"
конан вроде умеет в "свойства сборки", или я неправильно понял?
он то умеет. но поддержка этого всего ложится на плечи мейнтейнера пакета
Berkus
А если либа не работает с данными флагами?
каждая либа в манифесте своем указывает какие флаги она умеет. http://doc.crates.io/manifest.html
Berkus
рекомендую спереть этот формат целиком )
Alexander "SonnySlave"
Ну так флагов же хренолион..
Alexander "SonnySlave"
не прописывать же мне в рецепте либы все флаги из gcc...
Berkus
не прописывать же мне в рецепте либы все флаги из gcc...
только те, которые для нее имеют смысл
Berkus
часть флагов будет общая, т.к. влияет на ABI
Berkus
и по ним надо фильтровать зависимости жестко
Alexander "SonnySlave"
только те, которые для нее имеют смысл
ты готов проанализировать все флаги компилятора и вычленить те, что имеют смысл, а что нет? я не готов
Berkus
т.к. с несовместимым аби собирать так себе затея
Alexander "SonnySlave"
ABI - да, это фильтруется
Berkus
ты готов проанализировать все флаги компилятора и вычленить те, что имеют смысл, а что нет? я не готов
это мейнтейнеры или авторы пакета решают какие флаги для них имеют смысл
Alexander "SonnySlave"
но оно фильтруется только по версии используемой libstdc++
Alexander "SonnySlave"
это мейнтейнеры или авторы пакета решают какие флаги для них имеют смысл
но а если пользователь всё же хочет собрать со своим специфичным флагом?
Alexander "SonnySlave"
хм-хм-хм...
Alexander "SonnySlave"
по сути сейчас уже есть features в Conan
Berkus
вообще сложно - одно дело системные либы, другое дело полная кастомизация для твоего проекта
Alexander "SonnySlave"
но я не совсем согласен с этим, скажем так. я за более generic way. Но с другой стороны, это добавляет некоторые сложности. И на определённом этапе уже сложно давать какие-то гарантии пользователю. Мол, напсиал сам флагов - готовься к отрыву конечностей. Так сказать professional mode
Igor
но а если пользователь всё же хочет собрать со своим специфичным флагом?
тоесть условно, если в пакете есть вариант бинаря с "обработка_исключений=Ы", а юзер хочет влинковать его в проект с "обработка_исключений=Й"?
Alexander "SonnySlave"
типа того
Alexander "SonnySlave"
если он так сделает, то я ему ничем не смогу помочь - оторвёт конечности ему знатно.
Igor
посмотри izabelle muerte "i configure your milkshake" с цппкона17, там правда мужик косящий под бабу и вступление полно пафосного буллщита с самомнением овер9000, но вещи обсуждаются интересные
Igor
если вообще вкратце, то "всегда найдётся наркоман, который будет пытаться сделать что-то не как все и пытаться сотворить дичь, не надо под него подстраиваться"
Igor
мне кажется такие приколы надо как-то явно оговаривать в пакете, что мол наша либа собрана с вот такими флагами которые могут оторвать вам ноги по самую голову
Igor
так и я о том же готовые бинари должны подходить под наиболее распространённые нужды; хочется странного - варнинг в ... куда-нибудь, и собирайте из сырцов, благо конан в связке с симейком к этому просто потрясающе располагает
Igor
ну и пока не появятся какие-то средства адекватно проверять происходящее на уровне билдсистемы, чтобы отловить такие моменты - увы и ах
Berkus
я был бы рад сервису который может собрать мне бинари либы под ВСЕ комбинации флагов gcc, но боюсь это будет больше чем атомов во вселенной
Igor
наподобие конан-сервера, который можно дёрнуть "дай мне пакет для гцц версии №№ с флагами А Б Ц"?
Alexander "SonnySlave"
я так думаю, что со временем разрабы Conan будут потиху расширять матрицу, чтобы было больше готовых бинарей
Alexander "SonnySlave"
я и сам стараюсь добавлять больше компиляторов поддерживаемых. Всё равно место халявное, так что никаких проблем, кроме кол-ва билд-машин, нет
Vitaliy
У меня вопрос есть, который C++ касается лишь косвенно и я пока не знаю куда его задать, поэтому задам здесь. Тут есть люди, которые в свободное время пилят что-то в computer vision ||machine learning ? Или так: есть ли люди которые готовы заняться чем-то из этой области ? Просто у меня есть идея хорошая, но боюсь, что одному не осилить.
Anonymous
Платить будешь?)
Vitaliy
Если есть соответствующий чат, то направьте меня туда.
Vitaliy
🦥Alex Fails
Оператор НЛО
вот так и называю