Bug 6291

Summary: Wine-tests: не приходят на почту сообщения об ошибках в классе wine_repository
Product: [Свободные проекты (Open source projects)] WINE-tests Reporter: Виталий Перов <vitperov>
Component: ОбщееAssignee: Виталий Перов <vitperov>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P4 CC: baraka, lav
Version: не указана   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 6264, 6417    

Description Виталий Перов 2010-10-25 18:03:11 MSD
Класс не наследуется от класса report_by_mail, поэтому сообщения не приходят.
Надо предусмотреть отправку важный сообщений об ошибках, например:
ERROR: wine_repository: the patch '/home/vitperov/Projects/wine-dev/dlls/winex11.drv/tests/winex11.drv_test.exe.so' doesn't exists. Maybe this dll have no tests?
Comment 1 Виталий Перов 2010-11-11 19:47:23 MSK
Предлагаю наследоваться от обобщённого класса логгер. А он уже наследуется от классов file_logger (нынешний класс logger) и report_by_mail.

file_logger один на всю программу, поэтому можно его сразу инициализировать.

report_by_mail должен быть уникальным для каждого патча, поэтому сначала добавлять неинициализированный, а потом, при создании класса git_patch инициализировать его.

Когда git_patch начинает работу с wine_repository он должен передать/замещать указатель на инициализированную для себя структуру report_by_mail.
И logger класса wine_repository будет передавать сообщения через неё.

Вопрос только как делать report_by_mail - как член класса, или наследоваться от него?
Comment 2 Виталий Перов 2010-11-11 20:04:07 MSK
добавил реализацию классов logger и file_logger.
Сейчас поведение должно остаться прежним.
Надо проверить.
Comment 3 Виталий Перов 2010-11-12 14:38:21 MSK
(In reply to comment #2)
> добавил реализацию классов logger и file_logger.
> Сейчас поведение должно остаться прежним.
> Надо проверить.
> 
Проверил. Переделал. Работает
Comment 4 Виталий Перов 2010-11-12 15:56:21 MSK
Вместо наследования добавил инициализацию класса send_mail в классе logger.
Убрал наследования из класса git_patch.
Прежнее поведение поменяться не должно
Comment 5 Виталий Перов 2010-11-12 16:18:11 MSK
Пока не работает:

  File "/srv/vitperov/Projects/tests/logger.py", line 94, in _send_mail_report
    self._mail_report.set_mail_subject(subject)
AttributeError: report_by_mail instance has no attribute 'set_mail_subject'
Comment 6 Виталий Перов 2010-11-12 17:18:42 MSK
Исправил. Работает
Comment 7 Виталий Перов 2010-11-12 17:46:22 MSK
Сделал передачу ссылки на mail_logger из wine_patch в wine_repository. Теперь wine_repository тоже отправляет дебаг на почту.
Проверил. Работает.