ROS Newsletter47

Материал из Русский WINE
Перейти к: навигация, поиск

Выпуск новостей ReactOS №47

Процесс разработки

Разработчики были очень заняты в течение последнего месяца, и каждый старался сделать свою работу как можно лучше. Камерон Гутман (Cameron Gutman) продолжает закрывать "дыры" в нашем коде поддержки сети, в то время как Гед Мерфи (Ged Murphy) наводит порядок в заголовочных файлах кода поддержки пользовательского режима сети. Самуэль Серафион (Samuel Serapión) и Тимо Крейцер (Timo Kreuzer) продолжают работать над веткой x64, исправляя ошибки и предупреждения компилятора там, где они проявляются. Кроме того, мы также беседовали с людьми из mingw64 о том, что требуется от каждой из сторон для создания правильного порта ReactOS на 64-разрядную архитектуру. Кристоф фон Виттич (Christoph von Wittich) синхронизировал наши файлы с Wine 1.1.5, что должно увеличить совместимость пользовательского режима системы. Пьер Швейцер (Pierre Schweitzer) также импортировал и синхронизировал несколько элементов из Wine, эти действия были направлены на обеспечение запуска броузера Chrome, хотя самому Chrome по-прежнему многое не нравится в ReactOS.

Эндрю Мунгер (Andrew Munger) работает с запущенным ReactOS уже около месяца, тестируя аптайм системы. Конечно, система не простаивает, Эндрю запускал IRC-клиент и писал с него, включал и выключал, мы часто видим, что машина в канале. Это немалый шаг в свете невысокой стабильности системы. И давайте учтём, что работа системы в течение месяца означает, что она была собрана месяц назад. Итак, если такая старая сборка способна выжить так долго, то можно хорошо представить себе состояние ReactOS сейчас.

Сканирование Coverity

Хорошо иметь друзей! Urias McCullough, член команды Haiku, с которым мы делили выставочную площадку на LinuxWorld, связал нас с компанией Coverity, известной своими средствами автоматизированного анализа исходного кода, и за это мы благодарны ему. После работы с Артом Йеркесом (Art Yerkes) для обеспечения совместимости утилит Coverity для работы с нашей средой сборки мы получили первый отчёт. Результат: обнаружено 1417 ошибок, таких как выход за границы массивов, использование высвобождённых ресурсов, несколько утечек ресурсов и прочие. В данный момент разработчики занимаются проверкой и исправлением найденных ошибок. Вы уже могли видеть некоторые результаты, просматривая последние записи нашего репозитория.

Утилита Sysreg

Утилита Sysreg уже упоминалась ранее как решение для автоматизированного регрессионного тестирования сборок транка. Исходно написанная Йоханнесом Эндерволдом (Johannes Anderwald), она не слишком хорошо работала в связке с серверами сборки, администрируемыми Кристофом фон Виттичем. В этой связи Кристоф переписал Sysreg, используя библиотеку libvirt, благодаря чему стало возможно использовать различные типы виртуальных машин без перекомпиляции, но это также ограничило возможность запуска только системами Linux, так как libvrt существует только для *nix. С работающим теперь Sysreg мы можем запускать тесты Wine (winetests) для каждой ревизии и получать отчёт об успешно и неуспешно пройденных тестах или добиваться краха системы, что происходит гораздо чаще, чем хотелось бы. Даже появились новые страницы на сайте, позволяющие посетителям видеть результаты, которые в дальнейшем будут более подробными. Следующим шагом должна стать возможность запуска собственного комплекта тестов (rostests), а не только от Wine; хотя в первую очередь должны были появиться наши тесты.

Ещё один новый разработчик

Всегда приятно видеть новые лица в нашей команде, особенно когда они демонстрируют большой талант. Майкл Мартин (Michael Martin), известный как bugboy в IRC, отправил в ReactOS много патчей, позволяющих ОС успешно проходить различные тесты Wine, которые раньше могли привести к краху ReactOS. Майкл мог бы получить доступ на запись в репозиторий раньше, но он захотел иметь больше времени на работу с исходным кодом ReactOS. Тем не менее, мы уверены: Майкл внесёт большой вклад в проект.

Newsletters
30-39 #30#31#32#33#34#35#36#37#38#39
40-49 #40#41#42#43#44#45#46#47#48#49
50-59 #50#51#52#53#54#55#56#57#58#59
60-69 #60#61#62#63#64#65#66#67#68#69
70-79 #70#71#72#73#74#75#76#77#78#79
80-89 #80#81#82#83#84#85#86#87#88#89
90-99 #90#91#92#93#94#95#96#97#98#99