Ошибки Xcode Service (Mavericks) при запуске модульных тестов

Когда бот службы Xcode пытается выполнить сборку с включенным run unit tests, сборка всегда будет терпеть неудачу. Когда я смотрю на файл журнала, одна и та же ошибка повторяется много раз:

xcsbuildd[1966] <Warning>: [XCSBuildOperation.m:106 7368f310 +2126ms] Preflight connection to /var/XCSControl/com.apple.XCSTestUserPreflightService failed; retrying: No such file or directory

После этого сообщения об ошибках несколько строк позже:

xcsbuildd[1966] <Error>: [XCSBuildOperation.m:102 7368f310 +2104ms] Timed out trying to connect to CG Session; giving up after 60 seconds
xcsbuildd[1966] <Error>: [XCSOperation.m:33 7368f310 +0ms] Error Domain=XCSBuildServiceDomain Code=0 "Cancelled integration because headless test environment is required but not available after 60s" UserInfo=0x7fa952571bd0 {NSLocalizedDescription=Cancelled integration because headless test environment is required but not available after 60s}
xcsbuildd[1966] <Debug>: [XCSOperation.m:28 7368f310 +0ms] Cancelling operation: XCSBuildOperation

Я ударил кирпичную стену с этим и ничего не могу найти на нем.

Кто-нибудь имел эту проблему и нашел исправление?

Ответ 1

У ошибок есть некоторые подсказки! Timed out trying to connect to CG Session, который предполагает, что он пытается получить контекст базовой графики и Cancelled integration because headless test environment is required but not available after 60s, "без головы", что означает отсутствие прикрепленного экрана, что является общим для машин сборки. Вы можете попробовать подключить дисплей к машине, войти в нее и посмотреть, не исчезла ли ошибка.

Некоторые фреймворки/библиотеки по-прежнему ожидают графический контекст, который может зависеть от отображения (даже если он виртуальный, например VNC). Если аппарат не запускается с подключенным монитором, сервер окон может не иметь возможности правильно инициализировать определенные функции, и вы получите такие странные результаты.

Я решил проблему такого типа в прошлом, но подключил к каждой машине адаптер безголового дисплея, который обманывает графическую карту, думая, что там установлен дисплей. Вы можете найти эти фиктивные эмуляторы для онлайн-игр ниже 20 долларов.

Надеюсь, что это поможет.

Ответ 2

При программировании с помощью Xcode я тоже получил эту ошибку, поэтому удалил все файлы, связанные с Xcode, и переустановил ее из Mac App Store. Это исправило это для меня. Кстати, у меня OS X El Capitan, может быть, другая проблема.

Надеюсь, что это поможет!

Ответ 3

XCode не идеально подходит для Maverick. Попробуйте SynonymATX версии 5.8 с дополнительным кодом: Разборка секции .text._ZN16Uarmcodetestform11ReadIntegerEPi:

00000000 <_ZN16Uarmcodetestform11ReadIntegerEPi>:
   0:   b580        push    {r7, lr}
   2:   466f        mov r7, sp
   4:   b083        sub sp, #12
   6:   9002        str r0, [sp, #8]
   8:   78c1        ldrb    r1, [r0, #3]
   a:   7882        ldrb    r2, [r0, #2]
   c:   ea42 2101   orr.w   r1, r2, r1, lsl #8
  10:   7842        ldrb    r2, [r0, #1]
  12:   7803        ldrb    r3, [r0, #0]
  14:   ea43 2202   orr.w   r2, r3, r2, lsl #8
  18:   ea42 4101   orr.w   r1, r2, r1, lsl #16
  1c:   9101        str r1, [sp, #4]
  1e:   9000        str r0, [sp, #0]
  20:   4608        mov r0, r1
  22:   b003        add sp, #12
  24:   bd80        pop {r7, pc}