Иногда нет возможности запускать тесты из консольного приложения, что делает невозможным логгирование вывода стандартными средствами. Что бы, к примеру, запущенная после коммита процедура сборки/тестирования, в случае ошибки, бросила в почту разработчикам лог с непрошедшими тестами.
Для решения на скорую руку был набросан простенький класс (чуть более чем полностью слизанный с TextTestRunner), позволяющий логгировать все в файл - FileTestRunner
Проверен на D2009.
Краткие заметки по ит-шным темам, с которыми я сталкиваюсь. Чаще это вопросы работы с СУБД и прикладной разработки.
понедельник, 29 марта 2010 г.
среда, 24 марта 2010 г.
Упрощение CheckException в DUnit с помощью анонимных функций
К сожалению, для проверки функции на возврат исключения возможен только для процедуры типа:
TTestMethod = procedure of object;Легким движением руки(наследником или правкой оригинального класса) для свежих версий Delphi упрощаем написание таких тестов:
procedure CheckException(AMethod: TTestMethod; AExceptionClass: TClass; msg :string = '');
TTestProc2 = reference to procedure;
TTestCase2 = class(TTestCase)
public
procedure CheckException2(AMethod: TTestProc2; AExceptionClass: TClass; msg :string = '');
end;
Пример использования:
...
CheckException2(procedure begin DirDelete(TestDir); end, EInOutError);
понедельник, 8 марта 2010 г.
Разработка - это борьба с антивирусами
На днях, Касперский начал ругаться на один из пакетов нашей системы обновлений. В пакете (7z архив), от 11 сентября 2009 года лежал инсталятор сделанный InnosSetup, внутри которого и лежал якобы зараженный файл.
Беглый анализ этого яйца КБ на VirusTotal показал, что ругается только Касперский, на какой-то никому известный троян, что явно указывало на ложное срабатывание. Проблемы была отложена на неделю, в надежде что рассосется :)
Но практика показала, что даже ложные сигнатуры, как те вирусы, расползаются по мелким антивирусным компаниям безо всяких проверок. Через 2 недели уже 10-ток антивирусов определяли файл как зараженный! Но при этом среди них не было ни одной крупной компании.
Приятно был поражен, что после отправки комплейна в лабораторию Касперского, ложное срабатывание было подтверждено в течение часа (и это 8-го марта!).
Беглый анализ этого яйца КБ на VirusTotal показал, что ругается только Касперский, на какой-то никому известный троян, что явно указывало на ложное срабатывание. Проблемы была отложена на неделю, в надежде что рассосется :)
Но практика показала, что даже ложные сигнатуры, как те вирусы, расползаются по мелким антивирусным компаниям безо всяких проверок. Через 2 недели уже 10-ток антивирусов определяли файл как зараженный! Но при этом среди них не было ни одной крупной компании.
Приятно был поражен, что после отправки комплейна в лабораторию Касперского, ложное срабатывание было подтверждено в течение часа (и это 8-го марта!).
вторник, 2 марта 2010 г.
97 заметок архитекторам и разработчикам
Уж не знаю, откуда возник такой формат, но есть две замечательные серии статей, по 97 штук, с краткими заметками в области разработки и проектирования ПО. В оригинале они на английском, но есть частичный перевод от avl:
97 Things Every Programmer Should Know
97 Things Every Programmer Should Know
- оригинал - http://programmer.97things.oreilly.com/wiki/index.php/Edited_Contributions
- перевод - http://avl.livejournal.com/tag/97_things_programmer_should_know
- оригинал(уже недоступен) - http://97-things.near-time.net/wiki/97-things-every-software-architect-should-know-the-book
- перевод - http://avl.livejournal.com/tag/97_things_architect_should_know
- для печати - http://docs.google.com/View?id=ddcq7655_199dq3bwfv4
понедельник, 1 марта 2010 г.
MindTheBird! - УпомяниПроПтица!
Как многие помнят, я, в силу исторических причин, большой любитель, и более того фанат, такого замечательного продукта, как СУБД Firebird.
В скором времени, выходит его новая версия 2.5, в которой разработчики в очередной раз радуют нас множеством вкусностей:
А желающие принять более активное участи, могут заработать 500$ за работу с логотипом ФБ, или получить лицензию FastReport за привлечение новых участником.
В скором времени, выходит его новая версия 2.5, в которой разработчики в очередной раз радуют нас множеством вкусностей:
- новая промежуточная архитектура SuperClassic
- управление пользователями из SQL
- долгожданный многими ALTER VIEW
- автономные транзакции
- гетерогенные запросы к внешним базам FB через EXECUTE STATEMENT
- роль RDB$ADMIN
- трассировка работы
А желающие принять более активное участи, могут заработать 500$ за работу с логотипом ФБ, или получить лицензию FastReport за привлечение новых участником.
Подписаться на:
Сообщения (Atom)