АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

poe-gen-testsp - Интернет в облаке

Запустите poe-gen-testsp в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда poe-gen-testsp, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


poe-gen-tests - генерировать стандартные тесты POE для сторонних модулей

СИНТАКСИС


poe-gen-tests --dirbase t / loops \
--цикл Глиб \
--loop Кочередь \
--loop Event :: Lib \
--loop POE :: XS :: Loop :: Poll

ОПИСАНИЕ


Эта программа и сопутствующие модули POE :: Test :: Loop :: * составляют тесты POE для
Подклассы POE :: Loop. Эти тесты предназначены для одинакового выполнения независимо от
текущий цикл событий. POE использует их для тестирования цепочек событий, которые он связывает:

POE :: Loop :: Gtk
POE :: Loop :: IO_Poll (--loop IO :: Poll)
POE :: Loop :: Tk
POE :: Loop :: Event
POE :: Loop :: Select

Разработчикам других модулей POE :: Loop рекомендуется использовать этот пакет для создания более 420
комплексные тесты для собственной работы.

ИСПОЛЬЗОВАНИЕ


poe-gen-tests создает тестовые файлы для одного или нескольких циклов событий под каталогом
указанный в --dirbase. Например,

poe-gen-tests --dirbase t / loops --loop Выбрать

генерирует следующие тестовые файлы:

т / loops / select / all_errors.t
т / петли / выберите / comp_tcp.t
т / петли / выберите / comp_tcp_concurrent.t
т / петли / выберите / connect_errors.t
т / петли / выберите / k_alarms.t
т / петли / выберите / k_aliases.t
т / петли / выбрать / k_detach.t
т / петли / выбор / k_selects.t
т / петли / выберите / k_sig_child.t
т / петли / выберите / k_signals.t
т / петли / выберите / k_signals_rerun.t
т / петли / выберите / sbk_signal_init.t
т / петли / выберите / ses_nfa.t
т / петли / выберите / ses_session.t
т / петли / выберите / wheel_accept.t
т / петли / выберите / wheel_curses.t
т / петли / выберите / wheel_readline.t
т / петли / выберите / wheel_readwrite.t
т / петли / выберите / wheel_run.t
т / петли / выберите / wheel_sf_ipv6.t
т / петли / выберите / wheel_sf_tcp.t
т / петли / выбрать / wheel_sf_udp.t
т / петли / выберите / wheel_sf_unix.t
т / петли / выберите / wheel_tail.t

Параметр --loop - это либо имя класса POE :: Loop :: ..., либо класс цикла событий, который
завершит имя пакета POE :: Loop :: ....

poe-gen-tests --dirbase t / loops --loop Event :: Lib
poe-gen-tests --dirbase t / loops --loop POE :: Loop :: Event_Lib

poe-gen-tests ищет раздел "= for poe_tests" или "= begin poe_tests" внутри
POE :: Loop - тестируемый класс. Если определено, этот раздел должен включать одну функцию,
skip_tests (), который определяет, следует ли пропустить какой-либо конкретный тест.

См. Синтаксис для "= for" и "= begin" в perlpod. Также см. PODDITIES для заметных
различия между поддержкой POE :: Test :: Loop POD и стандартом.

skip_tests () вызывается с одним параметром - базовым именем теста, который будет выполняться.
Он возвращает false, если тест должен быть запущен, или сообщение, которое будет отображаться пользователю.
объясняя, почему тест будет пропущен. Это сообщение передается непосредственно Test :: More's
план() вместе с "skip_all". Логика по сути такова:

if (my $ why = skip_tests ("k_signals_rerun")) {
план skip_all => $ почему;
}

skip_tests () должен загружать любые модули, необходимые для цикла обработки событий. См. Большинство примеров
внизу.

Пример poe_tests Директивы
POE :: Loop :: Event проверяет, существует ли модуль Event и может ли он быть загружен, а затем
определенные тесты могут выполняться в определенных операционных системах.

= для poe_tests
суб skip_tests {
return «Тесты событий требуют модуля событий», если (
делать {eval "использовать событие"; $ @}
);
мое $ test_name = shift;
if ($ test_name eq "k_signals_rerun" и $ ^ O eq "MSWin32") {
return "Этот тест вызывает сбой Perl при запуске с Tk на $ ^ O";
}
if ($ test_name eq "wheel_readline" и $ ^ O eq "darwin") {
return "Событие пропускает два собственных теста по той же причине";
}
}

POE :: Loop :: Gtk проверяет, установлен ли DISPLAY, что означает, что X запущен. Тогда это
проверяет, доступен ли Gtk, загружается и безопасно ли инициализируется, прежде чем пропустить
специальные тесты.

= для poe_tests
суб skip_tests {
мое $ test_name = shift;
return «Gtk нужен ДИСПЛЕЙ (установите его сегодня, хорошо?)», если (
определен $ ENV {DISPLAY} и длина $ ENV {DISPLAY}
);
return "Тесты Gtk требуют модуля Gtk", если {eval "использует Gtk"; $ @};
return "Ошибка инициализации Gtk. ДИСПЛЕЙ действителен?" если не определено Gtk-> init_check;
if ($ test_name eq "z_rt39872_sigchld_stop") {
вернуть «Gdk вылетает»;
}
вернуться;
}

POE :: Loop :: IO_Poll проверяет совместимость системы перед проверкой того, что IO :: Poll
доступный и загружаемый.

= для poe_tests
суб skip_tests {
return "IO :: Poll не на 100% совместим с $ ^ O", если $ ^ O eq "MSWin32";
return "Тесты IO :: Poll требуют модуля IO :: Poll" if (
do {eval "использовать IO :: Poll"; $ @}
);
}

POE :: Loop :: Select не имеет особых требований.

= для poe_tests
sub skip_tests {return}

POE :: Loop :: Tk требует отображения X (кроме Windows). ТК небезопасен для вилка (), так что пропустите
тесты, требующие разветвления. И напоследок проверьте, доступен ли модуль Tk,
загружаемый и запускаемый.

= для poe_tests
суб skip_tests {
return "Tk нужен ДИСПЛЕЙ (установите его сегодня, хорошо?)", если (
(определяется $ ENV {DISPLAY} и длина $ ENV {DISPLAY}) или $ ^ O eq "MSWin32"
);
мое $ test_name = shift;
if ($ test_name eq "k_signals_rerun" и $ ^ O eq "MSWin32") {
return "Этот тест вызывает сбой Perl при запуске с Tk на $ ^ O";
}
return "Tk tests require the Tk module", если {eval "использовать Tk"; $ @};
мой $ m = eval {Tk :: MainWindow-> new ()};
if ($ @) {
мой $ почему = $ @;
$ why = ~ s / at. * //;
return "Не удалось инициализировать Tk: $ почему";
}
вернуться;
}

УСТАНОВИТЬ SCRIPT ИНТЕГРАЦИЯ


Тесты POE :: Loop начались как часть распространения POE. Все рекомендации
и следующие примеры написаны и протестированы с использованием ExtUtils :: MakeMaker, потому что это
что использует POE. Пожалуйста, измените эти рецепты по своему вкусу и предпочтениям.

призвание домен Пусконаладка Генератор
Тесты должны быть сгенерированы до того, как пользователь или оболочка CPAN запустит «make test». Аккуратный
способ сделать это может состоять в том, чтобы создать новую цель Makefile и включить ее в качестве зависимости
для "сделать тест". POE использует более простой подход, вызывая скрипт из своего Makefile.PL:

система(
$ ^ X, "poe-gen-tests", "--dirbase", "t / 30_loops",
«--loop», «Событие», «--loop», «Gtk», «--loop», «IO :: Poll»,
"--loop", "Select", "--loop", "Tk",
) и умереть $ !;

Предыдущий подход генерирует тесты во время установки, поэтому нет необходимости включать
сгенерированные файлы в МАНИФЕСТЕ. Каталоги тестов также следует исключить из
МАНИФЕСТ. poe-gen-tests создаст необходимые пути.

Также возможно сгенерировать тесты до "make dist". Распределение
В этом случае МАНИФЕСТ должен включать сгенерированные файлы.

Большинству людей не нужно будет добавлять сгенерированные тесты в свои репозитории.

Бег домен Tests


По умолчанию ExtUtils :: MakeMaker генерирует файлы Makefile, которые запускают только тесты, соответствующие t / *. T.
Однако авторам разрешено указывать другие места проведения тестов. Добавьте следующий параметр
в WriteMakefile () так что сгенерированные выше тесты будут выполнены:

tests => {
ТЕСТЫ => «t / *. Tt / 30_loops / * / *. T»,
}

ОЧИСТКА UP


Makefiles не будет очищать файлы, которых нет в MANIFEST. Это включает
тесты, созданные во время установки. Если вас это беспокоит, вам нужно добавить директивы в
включить сгенерированные тесты в цели «clean» и «distclean».

clean => {
ФАЙЛЫ => "t / 30_loops / * / * t / 30_loops / *",
}

Предполагается, что каталог «t / 30_loops» содержит только сгенерированные тесты. Рекомендуется
которые сгенерированные и написанные вручную тесты не сосуществуют в одном каталоге.

Кажется хорошей идеей удалить более глубокие каталоги и файлы раньше их родителей.

Пропуская Cеть Tests


Некоторые сгенерированные тесты требуют наличия и доступности сети. Эти тесты будут
пропускается, если файл "run_network_tests" не присутствует в основном каталоге распространения.
Вы можете включить этот файл в архив вашего дистрибутива, но лучше создать его в
время установки после запроса пользователя. Вот как это делает POE. Естественно, ты свободен делать
это как-то иначе.

# Переключиться на поведение по умолчанию, если STDIN не является терминалом.

if (-t STDIN) {
предупреждать(
"\ п",
"=============================================== \ n \ n ",
"STDIN не является терминалом. Предполагая --default. \ N \ n",
"=============================================== \ n \ n ",
);
нажмите @ARGV, "--default";
}

# Напомните пользователю, что она может использовать --default.

если (grep / ^ - по умолчанию $ /, @ARGV) {
предупреждать(
"\ п",
"================================================ \ п \ п ",
"Запросы можно обойти с помощью флага --default. \ N \ n",
"================================================ \ п \ п ",
);
}

# Стоит ли запускать сетевые тесты?

моя подсказка $ = (
«Для некоторых тестов POE требуется работающая сеть. \ N».
«Вы можете пропустить эти тесты, если хотите. \ N \ n».
"Не хотите ли вы пропустить сетевые тесты?"
);

мой $ ret = "п";
if (grep / ^ - по умолчанию $ /, @ARGV) {
напечатайте $ prompt, "[$ ret] $ ret \ n \ n";
}
еще {
$ ret = prompt ($ prompt, "n");
}

мой $ marker = 'run_network_tests';
отменить связь с маркером $;
если ($ ret = ~ / ^ Y $ / i) {
откройте (TOUCH, "+> $ marker") и закройте TOUCH;
}

печать "\ п";

Пропуская Другое Tests


Тесты цикла POE будут включать или отключать тесты в зависимости от возможностей цикла событий.
Распределения и циклы событий могут устанавливать эти переменные, чтобы сигнализировать, какие тесты подходят для
бежать.

POE_LOOP_USES_POLL
Некоторые платформы не поддерживают голосование() на определенных типах файловых дескрипторов. Циклы событий, которые
использование голосование() должен установить для этой переменной среды истинное значение. Это вызовет тесты
чтобы пропустить эту неприятную комбинацию.

ПОДДИТИ
Предыдущие версии POE :: Test :: Loops документировали разделы "= для poe_tests", завершенные
= вырезать и содержать пустые строки. Это неправильный синтаксис POD, и это причина того, что
skip_tests () функции появились в perldoc и на search.cpan.org. Следующий синтаксис
неверно и не должно было использоваться. Мне очень жаль.

= для poe_tests

sub skip_tests {...}

= вырезать

Правильный синтаксис - завершить "= для poe_tests" пустой строкой:

= для poe_tests
суб skip_tests {
...
}

Многострочные тесты, содержащие пустые строки, можно указать с помощью POD "= begin poe_tests"
завершается "= end poe_tests".

= начать poe_tests

суб skip_tests {
...
}

= конец poe_tests

Все три приведенных выше синтаксиса поддерживаются в POE :: Test :: Loops версии 1.034. В
неправильный = синтаксис устарел и будет удален в некоторых будущих выпусках.

Используйте poe-gen-testsp в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    VBA-M (Архивировано - сейчас на Github)
    VBA-M (Архивировано - сейчас на Github)
    Проект переехал в
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Особенности:Создание читовСохранить состояниямульти
    система, поддерживает gba, gbc, gb, sgb,
    sgb2Т...
    Скачать VBA-M (в архиве — сейчас на Github)
  • 2
    Stacer
    Stacer
    Оптимизатор системы Linux и мониторинг
    Репозиторий Github:
    https://github.com/oguzhaninan/Stacer.
    Аудитория: конечные пользователи / рабочий стол. Пользователь
    интерфейс: Qt. Программирование Ла...
    Скачать Стасер
  • 3
    ОранжевыйФокс
    ОранжевыйФокс
    Форк TeamWinRecoveryProject (TWRP)
    с множеством дополнительных функций, редизайн
    и другие особенности: поддерживает высокие частоты и
    не-Treble ROMsОбновленное ядро ​​​​Oreo,
    построен ...
    Скачать OrangeFox
  • 4
    itop — ITSM CMDB с открытым исходным кодом
    itop - ITSM CMDB с открытым исходным кодом
    Портал ИТ-операций: полностью открытый
    источник, ITIL, веб-сервис
    инструмент управления, включающий полностью
    настраиваемая CMDB, система службы поддержки и
    документальный человек...
    Скачать itop - ITSM CMDB OpenSource
  • 5
    Клементин
    Клементин
    Clementine — это мультиплатформенная музыка.
    проигрыватель и организатор библиотеки, вдохновленный
    Амарок 1.4. Обладает быстрым и
    удобный интерфейс и позволяет
    поиск и...
    Скачать Клементину
  • 6
    XISmuS
    XISmuS
    ВНИМАНИЕ: В накопительном обновлении 2.4.3 есть
    был выпущен !! Обновление работает для любых
    предыдущая версия 2.xx. Если обновление
    начиная с версии v1.xx, скачайте и
    Я ...
    Скачать XISmuS
  • Больше »

Команды Linux

Ad