cmdtest - онлайн у хмарі

Це команда cmdtest, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.

ПРОГРАМА:

ІМ'Я


cmdtest - чорний ящик тестування інструментів командного рядка Unix

СИНТАКСИС


cmdtest [-cКОМАНДА] [-- команда=КОМАНДА] [--config=Фото] [-Дамп-конфіг]
[--damp-setting-names] [-генератора=ШАБЛОН] [-h] [--допомога] [--допомога-всім]
[-файли-конфіг-файли] [-- версія] [-Ні-дефо-конфігури] [--Дамп-Меморія-Профіл=МЕТОД]
[-k] [-- тримати] [--не зберігати] [-- журнал=Фото] [-- вести журнал=N] [-- рівень журналу=РІВЕНЬ] [--log-max=SIZE]
[--режим журналу=РЕЖИМ] [--інтервал-дамп-пам'яті=СЕКУНДИ] [- вихід=Фото] [-tTEST] [--тест=TEST]
[-- терміни] [-- без термінів] [Фото]...

ОПИС


cmdtest чорний ящик тестує інструменти командного рядка Unix. Враховуючи деякі тестові сценарії, їх вхідні дані,
та очікуваних результатів, він перевіряє, що командний рядок видає очікуваний результат. Якщо
ні, він повідомляє про проблеми та показує відмінності.

Кожен тестовий приклад Foo складається з таких файлів:

foo.script
скрипт для запуску тесту (це потрібно)

foo.stdin
файл подається на стандартний вхід

foo.stdout
очікуваний вихід до стандартного виходу

foo.stderr
очікуваний вихід до стандартної помилки

foo.exit
очікуваний код виходу

foo.setup
сценарій оболонки для запуску перед тестом

foo.deardown
скрипт оболонки для запуску після тесту

Зазвичай одного тесту недостатньо. Усі тести розміщуються в одному каталозі, і вони
може поділитися деяким кодом налаштування та демонтажу:

одноразова установка
скрипт оболонки, який запускається один раз перед будь-якими тестами

установка сценарій оболонки, який запускається перед кожним тестом

розрив
сценарій оболонки, який запускається після кожного тесту

демонтаж - один раз
скрипт оболонки, який запускається один раз після всіх тестів

cmdtest дається ім'я каталогу з усіма тестами або кількома такими
каталогів, і він виконує наступне:

· виконувати одноразова установка

· для кожного тестового випадку (унікальний префікс Foo):

— виконати установка

— виконати foo.setup

— виконати команду, запустивши foo.script, і переспрямування стандартного введення на
прибути з foo.stdin, а також фіксувати стандартний вихід і коди помилок і виходу

— виконати foo.deardown

— виконати розрив

— звіт про результат тесту: чи відповідає код виходу foo.exit, відповідність стандартному виходу
foo.stdout, і стандартна помилка відповідності foo.stderr?

· виконувати демонтаж - один раз

Окрім foo.script, усі ці файли є необов’язковими. Якщо сценарій встановлення або демонтажу є
відсутній, він просто не виконується. Якщо один із стандартних файлів введення, виведення чи помилки
відсутня, воно розглядається як порожнє. Якщо файл коду виходу відсутній, це так
розглядається так, ніби він вказує нульовий код виходу.

Скрипти оболонки можуть використовувати такі змінні середовища:

Датадір
тимчасовий каталог, де файли можуть бути створені за допомогою тесту

TESTNAME
назва поточного тесту (буде порожнім для одноразова установка та демонтаж - один раз)

Srcdir каталог з якого cmdtest був запущений

ВАРІАНТИ


-c, -- команда=КОМАНДА
ігнорується через зворотну сумісність

-генератора=ШАБЛОН
ПРИГЛУШИТИ

-h, --допомога
показати це повідомлення довідки та вийти

-k, -- тримати
зберігати тимчасові дані про збій

--не зберігати
протилежність --зберігати

- вихід=Фото
записувати вихід у FILE замість стандартного виводу

-t, --тест=TEST
запустити лише TEST (можна дати багато разів)

-- терміни
повідомляйте, скільки часу займає кожен тест

-- без термінів
протилежність --часів

-- версія
показати номер версії програми та вийти

конфігурація файли та налаштування
--config=Фото
додати FILE до файлів конфігурації

-Дамп-конфіг
виписати всю поточну конфігурацію

--damp-setting-names
ПРИГЛУШИТИ

--допомога-всім
показати всі варіанти

-файли-конфіг-файли
ПРИГЛУШИТИ

-Ні-дефо-конфігури
очистити список конфігураційних файлів для читання

Запис
-- журнал=Фото
записувати записи журналу до FILE (за замовчуванням не записувати файли журналу взагалі); використовувати "syslog"
щоб увійти до системного журналу, "stderr" щоб увійти до стандартного виводу помилки, або "none" до
вимкнути ведення журналу

-- вести журнал=N
зберігати останні N журналів (10)

-- рівень журналу=РІВЕНЬ
журнал на LEVEL, один із налагодження, інформація, попередження, помилка, критичний, фатальний (за замовчуванням: налагодження)

--log-max=SIZE
обертати журнали більше ніж SIZE, нуль для ніколи (за замовчуванням: 0)

--режим журналу=РЕЖИМ
встановити дозволи для нових файлів журналів на MODE (вісімковий; за замовчуванням 0600)

Виконання
--Дамп-Меморія-Профіл=МЕТОД
створювати дампи профілювання пам’яті за допомогою METHOD, який є одним із: none, simple або meliae
(за замовчуванням: простий)

--інтервал-дамп-пам'яті=СЕКУНДИ
зробіть дампи профілювання пам’яті з інтервалом не менше СЕКУНД

приклад


Щоб перевірити, що нудьгувати(1) команда виводить очікуваний рядок, створіть файл з ім ехо-
tests/hello.script містить такий зміст:

#!/ Бен / ш
ехо, привіт, світ

Також створіть файл echo-tests/hello.stdout містить:

Здрастуй, світ!

Потім ви можете запустити тести:

$ cmdtest ехо-тести
тест 1/1
1/1 тести в порядку, 0 збоїв

Якщо ви зміните файл stdout на щось інше, cmdtest повідомить про відмінності:

$ cmdtest ехо-тести
FAIL: привіт: stdout diff:
--- echo-tests/hello.stdout 2011-09-11 19:14:47 +0100
+++ echo-tests/hello.stdout-actual 2011-09-11 19:14:49 +0100
@@ -1 +1 @@
-щось ще
+привіт, світ

тест 1/1
0/1 тести в порядку, 1 збоїв

Крім того, ехо-тести каталог міститиме фактичні вихідні файли та відмінності від
очікувані файли. Якщо один із фактичних вихідних файлів дійсно правильний, ви можете
фактично перейменуйте його в очікуваний файл. Насправді, це дуже зручний спосіб
створення очікуваних вихідних файлів: ви запускаєте тест, виправляєте речі, доки не вручну
перевіривши фактичний вихід, ви перейменували файл.

Використовуйте cmdtest онлайн за допомогою служб onworks.net



Найновіші онлайн-програми для Linux і Windows