Bug 6390

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

Description Виталий Перов 2010-11-08 17:49:27 MSK
Скрипт не обрабатывает результат публикации, и говорит, что всё нормально, даже если ничего не получилось.
Comment 1 Виталий Перов 2010-11-08 18:52:19 MSK
Возникла проблема: как парсить результат, возвращаемый git.pull.

Это не строка, а некая структура:

Traceback (most recent call last):
  File "./apply_new_patches.py", line 92, in <module>
    result = patch.apply_with_tests()
  File "/srv/builder-robot/Projects/wine-tests/wine_repository.py", line 245, in apply_with_tests
    repo.publish()
  File "/srv/builder-robot/Projects/wine-tests/git_repository.py", line 57, in publish
    self.debug("Published correctly. Result=" + result)
TypeError: cannot concatenate 'str' and 'IterableList' objec
Comment 2 Виталий Перов 2010-11-08 18:53:57 MSK
Выяснилась ещё одна проблема:
Скрипт посылает письмо автору до публикации репозитория.
Comment 3 Виталий Перов 2010-11-10 16:18:31 MSK
функция push возвращает класс <git.remote.PushInfo object at 0x91cd9bc>
Поля класса:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '_id_attr', '_prefix', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

Пока не понятно где здесь искать результат пуша.
Возможно это список, и обращаться к нему надо поэлементно.
Comment 4 Виталий Перов 2010-11-10 16:47:39 MSK
Нет, это не список, хотя аттрибуты append явно на это указывают.
Comment 5 Виталий Перов 2010-11-10 17:25:24 MSK
Решил напрямую использовать git push.
Если прав нет, то возникает исключение.
Сделал патч. Работает.

Осталось сделать отправку письма после публикации.
Comment 6 Виталий Перов 2010-11-11 15:20:03 MSK
> Осталось сделать отправку письма после публикации.
Сделал

Ещё добавил откат патча при неудачной публикации.
Comment 7 Виталий Перов 2010-11-11 15:57:07 MSK
Проверил на живой системе. Исправил ошибки. Работает.