Я просто хотел следить за тем, что я нашел, работая с Python 2.7 на Centos 6. Добавление пакетов_данных или data_files, как упоминалось выше, не помогло мне. Я добавил MANIFEST.IN с файлами, которые я хотел, которые помещали файлы, отличные от python, в tarball, но не устанавливали их на целевой машине через RPM.
В конце концов, мне удалось получить файлы в моем решении, используя «параметры» в setup / setuptools. Файлы параметров позволяют изменять различные разделы файла spec из файла setup.py. Как показано ниже.
from setuptools import setup
setup(
name='theProjectName',
version='1',
packages=['thePackage'],
url='',
license='',
author='me',
author_email='me@email.com',
description='',
options={'bdist_rpm': {'install_script': 'filewithinstallcommands'}},
)
file - MANIFEST.in:
include license.txt
file - filewithinstallcommands:
mkdir -p $RPM_BUILD_ROOT/pathtoinstall/
#this line installs your python files
python setup.py install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
#install license.txt into /pathtoinstall folder
install -m 700 license.txt $RPM_BUILD_ROOT/pathtoinstall/
echo /pathtoinstall/license.txt >> INSTALLED_FILES
Это не очень хорошо, но Apple Testing Kit разбивает модульные тесты на две отдельные категории:
Логические тесты
Эти тесты проверяют правильность работы вашего кода в чистых помещениях.
Тесты приложений
Эти тесты проверяют функциональность вашего кода в работающем приложении.
Похоже, существует много кода, связанного с пользовательским интерфейсом, который не может быть запущен в случае «логического теста». Больше информации о тестах логики и тестах приложений здесь.
Выберите цель «Unit Unit Test» в разделе «Targets» в списке проектов / целей и в разделе «General» выберите приложение «Хост» в качестве основного приложения со шрифтами.
Это решило проблему для меня.
Вы пробовали это на устройстве? Кажется, я помню, что вы можете включать UIKit в тесты только при запуске на устройстве, а не против симулятора ...
Я вижу именно эту проблему с 3.2 (и 3.1.3). Я видел это на двух разных машинах, поэтому не думаю, что мой SDK сломан.
Я создал новый проект, основанный на представлении iPhone, и добавил модульный тест и один тестовый пример.
Это настроено как логическая проверка.
Консольный вывод выглядит следующим образом:
Test Case '-[TestTests testTests]' started.
/Developer/Tools/RunPlatformUnitTests.include: line 415: 21141 Trace/BPT trap "${THIN_TEST_RIG}" "${OTHER_TEST_FLAGS}" "${TEST_BUNDLE_PATH}"
/Developer/Tools/RunPlatformUnitTests.include:451: error: Test rig '/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk/Deve loper/usr/bin/otest' exited abnormally with code 133 (it may have crashed).
Command /bin/sh failed with exit code 1
Если я настрою модульный тест для отладки, я могу увидеть сбой со следующей трассировкой стека:
#0 0x00342d51 in __HALT
#1 0x002947c7 in _CFRuntimeCreateInstance
#2 0x00b8441e in GSFontCreateWithName
#3 0x028c8f31 in +[UIFont systemFontOfSize:]
Я вижу точку Кендалла (материал UIKit может работать только на device), но, похоже, это нигде не очень хорошо документировано.