Везет как QA
Nov. 19th, 2014 06:06 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Либа nanomsg, кто-то тут в комментариях мне ее посоветовал.
http://comments.gmane.org/gmane.comp.lib.nanomsg/1277
Убил целый день, только ради того, чтобы тесты запустились и сфейлились корректно на машине, на которой рабочий порт этой либы занят чем-то, например другим инстансом проги.
Эти программисты нетрадиционной ориентации зовут на каждый мыслимый и немыслимый чих abort(), вместо того чтобы вернуть код ошибки, а этот abort() на винде вызывает диалоговое окно вида "всему копец, продолжаем, отлаживаем или игнорируем". В консольных приложениях из автотестов, да. Причем cmake ctest на винде игнорирует stderr, соответственно, чтобы найти причину ошибки - мне пришлось сначала перекопать это угребище windbg, а затем добавить OutputDebugString в виндовый билд.
Если у меня от занятости сокетов или там от того, что черви сгрызли сетевой стек, прога будет ебаться с abort() - идите вы нахер с такими либами.
http://comments.gmane.org/gmane.comp.lib.nanomsg/1277
Убил целый день, только ради того, чтобы тесты запустились и сфейлились корректно на машине, на которой рабочий порт этой либы занят чем-то, например другим инстансом проги.
Эти программисты нетрадиционной ориентации зовут на каждый мыслимый и немыслимый чих abort(), вместо того чтобы вернуть код ошибки, а этот abort() на винде вызывает диалоговое окно вида "всему копец, продолжаем, отлаживаем или игнорируем". В консольных приложениях из автотестов, да. Причем cmake ctest на винде игнорирует stderr, соответственно, чтобы найти причину ошибки - мне пришлось сначала перекопать это угребище windbg, а затем добавить OutputDebugString в виндовый билд.
Если у меня от занятости сокетов или там от того, что черви сгрызли сетевой стек, прога будет ебаться с abort() - идите вы нахер с такими либами.
no subject
Date: 2014-11-19 03:23 pm (UTC)no subject
Date: 2014-11-19 03:28 pm (UTC)Я прочел как авторы либ псят на себя и друг на друга, пришел к выводу, что все они не в своем уме:)
no subject
Date: 2014-11-19 04:09 pm (UTC)no subject
Date: 2014-11-19 04:12 pm (UTC)no subject
Date: 2014-11-19 04:17 pm (UTC)no subject
Date: 2014-11-19 07:44 pm (UTC)2. Почему 1 в тестах не сделано?
no subject
Date: 2014-11-19 10:17 pm (UTC)no subject
Date: 2014-11-19 11:09 pm (UTC)(а может он вообще weak, я не помню таких тонкостей уже)
no subject
Date: 2014-11-20 06:12 am (UTC)И как вы хотите это чинить LD_PRELOAD'ом?
no subject
Date: 2014-11-20 06:38 am (UTC)no subject
Date: 2014-11-20 06:37 am (UTC)_set_abort_behavior
Ищется с ходу по словам abort override.
А вообще в C при необходимости перекрывается всё, но это уже хак.
no subject
Date: 2014-11-19 11:22 pm (UTC)no subject
Date: 2014-11-20 04:08 am (UTC)no subject
Date: 2014-11-20 02:27 pm (UTC)У этого человека еще было замечательное шифрование xor'ом.
no subject
Date: 2014-11-20 05:31 pm (UTC)no subject
Date: 2014-11-19 11:24 pm (UTC)no subject
Date: 2014-11-20 07:37 am (UTC)no subject
Date: 2014-11-20 11:06 am (UTC)А код будет работать одинаково (в рамках известных ограничений дебаггера - например, умолчательной инициализации всех переменных, чего не делается в релизе) - если какой-нибудь народный умелец не запихнул в ассерты части исполняемого кода.
no subject
Date: 2014-11-20 03:17 pm (UTC)