cmdtest - ອອນລາຍໃນຄລາວ

ນີ້ແມ່ນຄໍາສັ່ງ cmdtest ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


cmdtest - ການທົດສອບ blackbox ຂອງເຄື່ອງມືບັນທັດຄໍາສັ່ງ Unix

ສະຫຼຸບສັງລວມ


cmdtest [-cຄໍາສັ່ງ] [-- ຄໍາສັ່ງ=ຄໍາສັ່ງ] [--config=ເອກະສານ] [--dump-config]
[--dump-setting-names] [--generate-manpage=ຕົວຢ່າງ] [-h] [- ຊ່ວຍ] [--help-ທັງໝົດ]
[--list-config-files] [- ການປ່ຽນແປງ] [--no-default-config] [--dump-memory-profile=ວິທີການ]
[-k] [--ຮັກສາ] [--ບໍ່ຮັກສາ] [--ບັນທຶກ=ເອກະສານ] [--log-ຮັກສາ=N] [--log-level=LEVEL] [--log-max=ຫລືຂະຫຍາຍໂຕ]
[--log-mode=MODE] [--memory-dump-interval=ວິນາທີ] [-- ຜົນຜະລິດ=ເອກະສານ] [-tTEST] [--ທົດສອບ=TEST]
[--ເວລາ] [-- ບໍ່ມີເວລາ] [ເອກະສານ] ...

ລາຍລະອຽດ


cmdtest ກ່ອງດຳທົດສອບເຄື່ອງມືບັນທັດຄໍາສັ່ງ Unix. ໂດຍໃຫ້ສະຄຣິບທົດສອບບາງອັນ, ວັດສະດຸປ້ອນຂອງເຂົາເຈົ້າ,
ແລະຜົນໄດ້ຮັບທີ່ຄາດວ່າຈະ, ມັນກວດສອບວ່າເສັ້ນຄໍາສັ່ງຜະລິດຜົນຜະລິດທີ່ຄາດໄວ້. ຖ້າ
ບໍ່, ມັນລາຍງານບັນຫາ, ແລະສະແດງໃຫ້ເຫັນຄວາມແຕກຕ່າງ.

ແຕ່ລະກໍລະນີທົດສອບ ຟູ ປະ​ກອບ​ດ້ວຍ​ໄຟລ​໌​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

foo.script
ສະຄຣິບເພື່ອແລ່ນການທົດສອບ (ອັນນີ້ແມ່ນຕ້ອງການ)

foo.stdin
ໄຟລ໌ທີ່ປ້ອນເຂົ້າມາດຕະຖານ

foo.stdout
ຜົນຜະລິດທີ່ຄາດວ່າຈະເປັນຜົນຜະລິດມາດຕະຖານ

foo.stderr
ຜົນຜະລິດທີ່ຄາດໄວ້ກັບຄວາມຜິດພາດມາດຕະຖານ

foo.ອອກ
ລະຫັດອອກທີ່ຄາດໄວ້

foo.setup
shell script ທີ່ຈະແລ່ນກ່ອນການທົດສອບ

foo.teardown
shell script ທີ່ຈະດໍາເນີນການຫຼັງຈາກການທົດສອບ

ປົກກະຕິແລ້ວ, ການທົດສອບຄັ້ງດຽວແມ່ນບໍ່ພຽງພໍ. ການທົດສອບທັງຫມົດແມ່ນເອົາເຂົ້າໄປໃນໄດເລກະທໍລີດຽວກັນ, ແລະພວກເຂົາ
ອາດຈະແບ່ງປັນບາງລະຫັດການຕັ້ງຄ່າ ແລະ teardown:

ຕັ້ງຄ່າຄັ້ງດຽວ
shell script ເພື່ອແລ່ນຄັ້ງດຽວ, ກ່ອນການທົດສອບໃດໆ

ຕັ້ງ​ຄ່າ shell script ທີ່ຈະແລ່ນກ່ອນການທົດສອບແຕ່ລະຄັ້ງ

ນໍາ​້​ຕາ​ໄຫຼ
shell script ທີ່ຈະດໍາເນີນການຫຼັງຈາກແຕ່ລະການທົດສອບ

teardown-ຫນຶ່ງຄັ້ງ
shell script ເພື່ອແລ່ນຄັ້ງດຽວ, ຫຼັງຈາກການທົດສອບທັງຫມົດ

cmdtest ແມ່ນໃຫ້ຊື່ຂອງໄດເລກະທໍລີທີ່ມີການທົດສອບທັງຫມົດ, ຫຼືຫຼາຍໆຢ່າງ
ໄດເລກະທໍລີ, ແລະມັນເຮັດດັ່ງຕໍ່ໄປນີ້:

·​ປະ​ຕິ​ບັດ​ ຕັ້ງຄ່າຄັ້ງດຽວ

·​ສໍາ​ລັບ​ແຕ່​ລະ​ກໍ​ລະ​ນີ​ທົດ​ສອບ (ຄໍາ​ນໍາ​ຫນ້າ​ທີ່​ເປັນ​ເອ​ກະ​ລັກ​ ຟູ):

- ປະ​ຕິ​ບັດ​ ຕັ້ງ​ຄ່າ

- ປະ​ຕິ​ບັດ​ foo.setup

— ປະ​ຕິ​ບັດ​ຄໍາ​ສັ່ງ​, ໂດຍ​ການ​ແລ່ນ​ foo.script, ແລະປ່ຽນເສັ້ນທາງການປ້ອນຂໍ້ມູນມາດຕະຖານໄປຫາ
ມາ​ຈາກ foo.stdin, ແລະການຈັບເອົາຜົນຜະລິດມາດຕະຖານແລະຄວາມຜິດພາດແລະລະຫັດອອກ

- ປະ​ຕິ​ບັດ​ foo.teardown

- ປະ​ຕິ​ບັດ​ ນໍາ​້​ຕາ​ໄຫຼ

— ລາຍ​ງານ​ຜົນ​ຂອງ​ການ​ທົດ​ສອບ​: ບໍ່​ກົງ​ກັນ​ລະ​ຫັດ​ອອກ​ foo.ອອກ, ກົງກັນຜົນຜະລິດມາດຕະຖານ
foo.stdout, ແລະຄວາມຜິດພາດມາດຕະຖານກົງກັນ foo.stderr?

·​ປະ​ຕິ​ບັດ​ teardown-ຫນຶ່ງຄັ້ງ

ຍົກ​ເວັນ​ສໍາ​ລັບ foo.script, ໄຟລ໌ທັງຫມົດເຫຼົ່ານີ້ແມ່ນທາງເລືອກ. ຖ້າ​ຫາກ​ວ່າ​ການ​ຕັ້ງ​ຄ່າ​ຫຼື​ຕົວ​ອັກ​ສອນ teardown ແມ່ນ​
ຂາດ, ມັນພຽງແຕ່ບໍ່ໄດ້ປະຕິບັດ. ຖ້າຫາກວ່າຫນຶ່ງຂອງມາດຕະຖານ input, output, ຫຼືຄວາມຜິດພາດໄຟລ໌
ຫາຍໄປ, ມັນຖືກປະຕິບັດຄືກັບວ່າມັນຫວ່າງເປົ່າ. ຖ້າໄຟລ໌ລະຫັດອອກຂາດຫາຍໄປ, ມັນແມ່ນ
ຖືກປະຕິບັດຄືກັບວ່າມັນລະບຸລະຫັດອອກຂອງສູນ.

Shell scripts ອາດຈະໃຊ້ຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້:

DATADIR
ໄດເລກະທໍລີຊົ່ວຄາວທີ່ໄຟລ໌ອາດຈະຖືກສ້າງຂື້ນໂດຍການທົດສອບ

TESTNAME
ຊື່ຂອງການທົດສອບປະຈຸບັນ (ຈະຫວ່າງເປົ່າສໍາລັບ ຕັ້ງຄ່າຄັ້ງດຽວ ແລະ teardown-ຫນຶ່ງຄັ້ງ)

SRCDIR ໄດເລກະທໍລີຈາກນັ້ນ cmdtest ໄດ້ຖືກເປີດຕົວ

OPTIONS


-c, -- ຄໍາສັ່ງ=ຄໍາສັ່ງ
ຖືກລະເລີຍສຳລັບຄວາມເຂົ້າກັນໄດ້ກັບຫຼັງ

--generate-manpage=ຕົວຢ່າງ
ສະກັດກັ້ນ

-h, - ຊ່ວຍ
ສະແດງຂໍ້ຄວາມຊ່ວຍເຫຼືອນີ້ ແລະອອກ

-k, --ຮັກສາ
ຮັກສາຂໍ້ມູນຊົ່ວຄາວກ່ຽວກັບຄວາມລົ້ມເຫລວ

--ບໍ່ຮັກສາ
ກົງກັນຂ້າມກັບ --keep

-- ຜົນຜະລິດ=ເອກະສານ
ຂຽນຜົນໄດ້ຮັບໃສ່ FILE, ແທນທີ່ຈະເປັນຜົນຜະລິດມາດຕະຖານ

-t, --ທົດສອບ=TEST
ແລ່ນພຽງແຕ່ TEST (ສາມາດໃຫ້ໄດ້ຫຼາຍຄັ້ງ)

--ເວລາ
ລາຍງານໄລຍະເວລາການທົດສອບແຕ່ລະຄັ້ງ

-- ບໍ່ມີເວລາ
ກົງ​ກັນ​ຂ້າມ​ຂອງ --times

- ການປ່ຽນແປງ
ສະ​ແດງ​ຕົວ​ເລກ​ສະ​ບັບ​ຂອງ​ໂຄງ​ການ​ແລະ​ອອກ​

ການຕັ້ງຄ່າ ໄຟ ແລະ ການຕັ້ງຄ່າ
--config=ເອກະສານ
ເພີ່ມ FILE ໃສ່ໄຟລ໌ config

--dump-config
ຂຽນອອກການຕັ້ງຄ່າປະຈຸບັນທັງຫມົດ

--dump-setting-names
ສະກັດກັ້ນ

--help-ທັງໝົດ
ສະແດງຕົວເລືອກທັງໝົດ

--list-config-files
ສະກັດກັ້ນ

--no-default-config
ລ້າງບັນຊີລາຍຊື່ຂອງໄຟລ໌ການຕັ້ງຄ່າທີ່ຈະອ່ານ

ການຕັດໄມ້ທ່ອນ
--ບັນທຶກ=ເອກະສານ
ຂຽນບັນທຶກຂໍ້ມູນໃສ່ FILE (ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໃຫ້ຂຽນບັນທຶກໄຟລ໌ທັງຫມົດ); ໃຊ້ "syslog"
ເພື່ອເຂົ້າສູ່ລະບົບບັນທຶກລະບົບ, "stderr" ເພື່ອບັນທຶກການສົ່ງອອກຄວາມຜິດພາດມາດຕະຖານ, ຫຼື "ບໍ່ມີ" ກັບ
ປິດການນຳໃຊ້ການບັນທຶກ

--log-ຮັກສາ=N
ຮັກສາ N ບັນທຶກສຸດທ້າຍ (10)

--log-level=LEVEL
ເຂົ້າ​ສູ່​ລະ​ບົບ​ທີ່ LEVEL​, ຫນຶ່ງ​ໃນ debug​, ຂໍ້​ມູນ​, ການ​ເຕືອນ​ໄພ​, ຄວາມ​ຜິດ​ພາດ​, ວິ​ຈານ​, ຕາຍ (ຄ່າ​ເລີ່ມ​ຕົ້ນ​: debug​)

--log-max=ຫລືຂະຫຍາຍໂຕ
ໝຸນບັນທຶກທີ່ໃຫຍ່ກວ່າ SIZE, ເປັນສູນສຳລັບບໍ່ເຄີຍ (ຄ່າເລີ່ມຕົ້ນ: 0)

--log-mode=MODE
ຕັ້ງ​ການ​ອະ​ນຸ​ຍາດ​ຂອງ​ໄຟລ​໌​ບັນ​ທຶກ​ໃຫມ່​ເປັນ MODE (octal​; default 0600​)

ຄວາມສອດຄ່ອງ
--dump-memory-profile=ວິທີການ
ເຮັດໃຫ້ການຖິ້ມຂໍ້ມູນການເກັບຂໍ້ມູນຄວາມຊົງຈໍາໂດຍໃຊ້ METHOD, ເຊິ່ງເປັນຫນຶ່ງໃນ: none, simple, ຫຼື meliae
(ຄ່າເລີ່ມຕົ້ນ: ງ່າຍດາຍ)

--memory-dump-interval=ວິນາທີ
ເຮັດ​ໃຫ້​ການ​ສ້າງ​ໂປຣ​ໄຟລ​ຄວາມ​ຊົງ​ຈໍາ​ dumps ຢ່າງ​ຫນ້ອຍ SECONDS ຫ່າງ​ກັນ​

EXAMPLE


ເພື່ອທົດສອບວ່າ echo(1​) ຄໍາ​ສັ່ງ outputs ຊ່ອຍ​ແນ່​ຄາດ​ວ່າ​ຈະ​, ສ້າງ​ໄຟລ​໌​ທີ່​ເອີ້ນ​ວ່າ​ ສຽງສະທ້ອນ-
tests/hello.script ປະກອບມີເນື້ອໃນດັ່ງຕໍ່ໄປນີ້:

#!/ ຖັງ / sh
echo ສະບາຍດີ, ໂລກ

ສ້າງໄຟລ໌ເຊັ່ນກັນ echo-tests/hello.stdout ບັນ​ຈຸ:

ສະ​ບາຍ​ດີ​ຊາວ​ໂລກ

ຫຼັງ​ຈາກ​ນັ້ນ​, ທ່ານ​ສາ​ມາດ​ດໍາ​ເນີນ​ການ​ທົດ​ສອບ​:

$ cmdtest echo-tests
ການທົດສອບ 1/1
1/1 ການທົດສອບ OK, 0 ຄວາມລົ້ມເຫຼວ

ຖ້າທ່ານປ່ຽນໄຟລ໌ stdout ເປັນອັນອື່ນ, cmdtest ຈະ​ລາຍ​ງານ​ຄວາມ​ແຕກ​ຕ່າງ​:

$ cmdtest echo-tests
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 ການທົດສອບ OK, 1 ຄວາມລົ້ມເຫຼວ

ນອກຈາກນັ້ນ, ໄດ້ ການກວດສຽງ ໄດເລກະທໍລີຈະມີໄຟລ໌ຜົນຜະລິດຕົວຈິງ, ແລະແຕກຕ່າງຈາກ
ໄຟລ໌ທີ່ຄາດໄວ້. ຖ້າ​ຫາກ​ວ່າ​ຫນຶ່ງ​ໃນ​ໄຟລ​໌​ຜົນ​ຜະ​ລິດ​ທີ່​ແທ້​ຈິງ​ແມ່ນ​ຖືກ​ຕ້ອງ​, ທ່ານ​ສາ​ມາດ​ເຮັດ​ໄດ້​
ຕົວຈິງແລ້ວປ່ຽນຊື່ມັນເປັນໄຟລ໌ທີ່ຄາດໄວ້. ໃນຄວາມເປັນຈິງ, ມັນເປັນວິທີທີ່ສະດວກຫຼາຍ
ການ​ສ້າງ​ໄຟລ​໌​ຜົນ​ຜະ​ລິດ​ທີ່​ຄາດ​ວ່າ​ຈະ​: ທ່ານ​ດໍາ​ເນີນ​ການ​ທົດ​ສອບ​, ການ​ແກ້​ໄຂ​ສິ່ງ​ຕ່າງໆ​, ຈົນ​ກ​່​ວາ​ທ່ານ​ໄດ້​ດ້ວຍ​ຕົນ​ເອງ​
ກວດເບິ່ງຜົນຜະລິດຕົວຈິງແມ່ນຖືກຕ້ອງ, ຫຼັງຈາກນັ້ນທ່ານປ່ຽນຊື່ໄຟລ໌.

ໃຊ້ cmdtest ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌