Ошибки 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}