ວັນທົດສອບເຄີເນີນ (Kernel Test Days)

Fabrizio Last review: 2019-04-08
ຄູ່ມືແບບຫຍໍ້ສຳລັບວັນທົດສອບເຄີເນີນ.

ໃນຊ່ວງ ວັນທົດສອບເຄີເນີນ, ຜູ້ປະກອບສ່ວນຈະຖືກຂໍໃຫ້ລັນ ການທົດສອບ Kernel Regression ເຊິ່ງຈະຊ່ວຍໃນການກວດຫາ ແລະ ແກ້ໄຂບັນຫາຕ່າງໆກັບເຄີເນີນເວີຊັນໃໝ່ ກ່ອນທີ່ຈະນຳໄປໃຊ້ໃນວົງກວ້າງ. ມັນປະກອບດ້ວຍການລັນຊຸດການທົດສອບຕ່າງໆທີ່ສະໜອງໃຫ້ໂດຍ Kernel Test Suite

ເປົ້າໝາຍຫຼັກຂອງວັນທົດສອບເຄີເນີນແມ່ນເພື່ອທົດສອບເຄີເນີນໃໝ່ໃນຫຼາຍໆເຄື່ອງທີ່ແຕກຕ່າງກັນເທົ່າທີ່ຈະເປັນໄປໄດ້, ດັ່ງນັ້ນທຸກໆວັນທົດສອບເຄີເນີນໃໝ່ຈະຖືກປະກາດລ່ວງໜ້າບາງມື້ຜ່ານທາງໂພສ fedoramagazine.

ສິ່ງທີ່ຄວນເຮັດໃນຊ່ວງວັນທົດສອບເຄີເນີນ

ສິ່ງທຳອິດທີ່ຕ້ອງເຮັດຄືການເອົາເຄີເນີນເວີຊັນທີ່ຖືກຕ້ອງມາທົດສອບ. ມີຫຼາຍວິທີໃນການເອົາເຄີເນີນມາ ແລະ ທົດສອບມັນ:

ການໃຊ້ ອິເມຈວັນທົດສອບ (test day image)

ໃນຊ່ວງວັນທົດສອບ ຈະມີໜ້າວິກິສະເພາະທີ່ຈະໃຫ້ລິ້ງດາວໂຫຼດ ອິເມຈວັນທົດສອບ ເຊິ່ງເປັນ Fedora ແບບ live ທີ່ມີເຄີເນີນເວີຊັນທີ່ຈະທົດສອບຢູ່ພາຍໃນນັ້ນແລ້ວ. ອິເມຈວັນທົດສອບຍັງມີ test suite ຫຼື ສະຄຣິບສຳລັບທົດສອບເຄີເນີນໃນເຄື່ອງຂອງທ່ານ. ໄຟລ໌ .iso ທີ່ດາວໂຫຼດມາຈະຕ້ອງຖືກຂຽນລົງໃນ ຢູເອສບີທີ່ບູດໄດ້ (bootable USB stick).

ກວດສອບ ຄູ່ມືນີ້ ສຳລັບການສ້າງ ຢູເອສບີທີ່ບູດໄດ້.

ຈາກນັ້ນທ່ານສາມາດບູດ ອິເມຈແບບ live ແລະ ລັນການທົດສອບໄດ້ໂດຍບໍ່ຕ້ອງກັງວົນວ່າຈະເຮັດໃຫ້ລະບົບປະຕິບັດການຂອງທ່ານມີບັນຫາ.

ການໃຊ້ ເຄື່ອງສະເໝືອນ (Virtual Machine)

ທ່ານຍັງສາມາດຕິດຕັ້ງເຄີເນີນເວີຊັນທີ່ຕ້ອງການລົງໃນ ເຄື່ອງສະເໝືອນ (Virtual Machine) ທີ່ລັນ Fedora ເວີຊັນຫຼ້າສຸດ ແລະ ທົດສອບໃນ VM ໄດ້. ໃນກໍລະນີນີ້ ທ່ານພຽງແຕ່ເພີ່ມ ຄັງເກັບ Copr ນີ້ ລົງໃນ Fedora ທີ່ລັນຢູ່ໃນ VM ຂອງທ່ານ.

ເມື່ອທ່ານເພີ່ມຄັງເກັບແລ້ວ, ໃຫ້ຕິດຕັ້ງເຄີເນີນເພື່ອທົດສອບ:

$ sudo dnf upgrade && sudo dnf install kernel-5.0.0-200.fc29.x86_64
  • ໃນຕົວຢ່າງຂ້າງເທິງ, ພວກເຮົາຕິດຕັ້ງ kernel-5.0.0-200 ລົງໃນ fedora 29 ທີ່ມີສະຖາປັດຕະຍະກຳແບບ 64 bit.

  • ຣີບູດເຄື່ອງ ແລະ ທ່ານກໍພ້ອມທີ່ຈະທົດສອບແລ້ວ.

ການໃຊ້ Koji

ໃນຊ່ວງວັນທົດສອບເຄີເນີນ, ໜ້າວິກິສະເພາະຈະໃຫ້ລິ້ງເພື່ອດາວໂຫຼດເຄີເນີນເວີຊັນທີ່ຫາກໍສ້າງໃໝ່ເພື່ອທົດສອບ ໂດຍກົງຈາກ koji builds. ວິທີນີ້ແນະນຳສຳລັບຜູ້ໃຊ້ທີ່ເປີດໃຊ້ secure boot.

ຄຳເຕືອນ: ທ່ານຍັງສາມາດຕິດຕັ້ງ ແລະ ທົດສອບເຄີເນີນໃໝ່ລົງໃນ Workstation/Server ຂອງທ່ານໄດ້, ໃນເຄື່ອງຄອມພິວເຕີຕົວຈິງ, ແຕ່ຂໍໃຫ້ແນ່ໃຈວ່າທ່ານບໍ່ມີຂໍ້ມູນສຳຄັນຢູ່ໃນນັ້ນ ເພາະສິ່ງຕ່າງໆອາດຜິດພາດໄດ້ — ຫ້າມເຮັດແບບນີ້ໃນເຄື່ອງທີ່ໃຊ້ເຮັດວຽກຕົວຈິງ!

ມາຕຽມຕົວສຳລັບການທົດສອບ (ແລະ ຮັບຫຼຽນກາ Fedora ໃໝ່!)

ກ່ອນການທົດສອບ, ທ່ານຈຳເປັນຕ້ອງຕິດຕັ້ງບາງແພັກເກດ:

$ sudo dnf install gcc make git libtirpc python3-fedora keyutils libtirpc-devel policycoreutils-python-utils
  • ຖ້າທ່ານກຳລັງໃຊ້ *ອິເມຈວັນທົດສອບ*, ທ່ານຈະມີຊຸດທົດສອບເຄີເນີນຢູ່ໃນໂຟນເດີ kernel-tests ແລ້ວ; ໃຫ້ເຂົ້າໄປໃນໂຟນເດີດ້ວຍຄຳສັ່ງ

$ cd /home/liveuser/kernel-tests
  • ຖ້າທ່ານບໍ່ໄດ້ໃຊ້ ອິເມຈວັນທົດສອບ, ທ່ານຈະຕ້ອງທຳການຄັດລອກ (clone) ຄັງເກັບ kernel-tests. ໃຫ້ໃຊ້ຄຳສັ່ງນີ້ໃນເທີມິນໍ (terminal):

$ git clone https://pagure.io/kernel-tests.git

ສິ່ງນີ້ຈະດາວໂຫຼດໂຟນເດີດຽວກັບທີ່ທ່ານເຫັນໃນ ອິເມຈວັນທົດສອບ ພ້ອມກັບສະຄຣິບທົດສອບ. ເມື່ອດາວໂຫຼດສຳເລັດແລ້ວ, ໃຫ້ເຂົ້າໄປໃນໂຟນເດີ kernel-tests:

$ cd kernel-tests

Once inside the kernel-tests folder, it’s time to edit some configuration files; first we need to copy the content of the config.example file in a new hidden file named .config

$ cp config.example .config

ຕອນນີ້ໃຫ້ແກ້ໄຂໄຟລ໌ .config ດ້ວຍໂປຣແກຣມແກ້ໄຂຂໍ້ຄວາມທີ່ທ່ານມັກ.

ຢູ່ບ່ອນນີ້ພວກເຮົາສາມາດຕັດສິນໃຈໄດ້ວ່າຈະອັບໂຫຼດຜົນການທົດສອບຂອງພວກເຮົາໄປທີ່ເຊີເວີຂອງ Fedora ຫຼື ບໍ່. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການລັນການທົດສອບຈະບໍ່ສົ່ງຜົນໂດຍອັດຕະໂນມັດ. ມັນຈະພຽງແຕ່ລັນ ແລະ ຂຽນຜົນລົງໃນ ໄຟລ໌ບັນທຶກ (log file) ໃນ /kernel-tests/logs/

  • ເພື່ອສົ່ງຜົນແບບບໍ່ລະບຸຕົວຕົນ: ໃຫ້ແກ້ໄຂໄຟລ໌ .config ດ້ວຍ submit=anonymous

  • ເພື່ອສົ່ງຜົນໂດຍເຊື່ອມໂຍງກັບຊື່ຜູ້ໃຊ້ FAS ຂອງທ່ານ: ໃຫ້ແກ້ໄຂໄຟລ໌ .config ດ້ວຍ submit=authenticated ແລະ username=<your FAS username>

If you link your submission to your FAS username, you’ll also receive a Fedora badge!

ຜົນການທົດສອບຂອງທ່ານຈະຖືກອັບໂຫຼດໄວ້ ທີ່ນີ້

ກຳລັງລັນການທົດສອບ

ກ່ອນຈະລັນການທົດສອບ, ຂໍໃຫ້ແນ່ໃຈວ່າເຄື່ອງຂອງທ່ານບໍ່ມີວຽກຄ້າງຢູ່, ເຊັ່ນ: ຂະບວນການອື່ນໆທີ່ໃຊ້ຊີພີຢູໜັກ. ທ່ານສາມາດກວດສອບໄດ້ໂດຍໃຊ້ຄຳສັ່ງ: top

ກ່ອນຈະລັນການທົດສອບ, ພວກເຮົາຈຳເປັນຕ້ອງອະນຸຍາດໃຫ້ຊຸດທົດສອບສາມາດເຮັດໃຫ້ heap memory ຂອງພວກເຂົາ ສາມາດເຮັດວຽກໄດ້ (executable) ດ້ວຍຄຳສັ່ງນີ້:

$ sudo semanage boolean -m --on selinuxuser_execheap
ເມື່ອທ່ານທົດສອບສຳເລັດແລ້ວ, ຢ່າລືມປ່ຽນຄ່າ SELinux boolean selinuxuser_execheap ກັບຄືນສູ່ສະພາວະເລີ່ມຕົ້ນ ໂດຍການໃຊ້ຄຳສັ່ງ: sudo semanage boolean -m --off selinuxuser_execheap

ບາດນີ້ ມາເລີ່ມການທົດສອບກັນເລີຍ!

ເພື່ອລັນຊຸດການທົດສອບພື້ນຖານ, ໃຫ້ໃຊ້ຄຳສັ່ງນີ້:

$ sudo ./runtests.sh

ເພື່ອລັນຊຸດການທົດສອບປະສິດທິພາບ, ໃຫ້ໃຊ້ຄຳສັ່ງນີ້:

$ sudo ./runtests.sh -t performance

ຜົນທີ່ຄາດຫວັງແມ່ນການທົດສອບທັງໝົດຕ້ອງຜ່ານ. ຢ່າງໃດກໍຕາມ, ບາງການທົດສອບອາດຈະຫຼົ້ມເຫຼວໃນບາງຄັ້ງ ເນື່ອງຈາກພາລະຂອງລະບົບ. ບໍ່ວ່າຈະເປັນແນວໃດ, ໃຫ້ເພີ່ມຜົນທີ່ທ່ານໄດ້ຮັບຈາກການທົດສອບລົງໃນ ໜ້າຜົນການທົດສອບສະເພາະຂອງວັນທົດສອບເຄີເນີນ!

ໃນຊ່ວງວັນທົດສອບເຄີເນີນ, ຈະມີໜ້າເວັບແອັບພລິເຄຊັນສະເພາະຖືກສ້າງຂຶ້ນເພື່ອອັບໂຫຼດຜົນການທົດສອບ, ຢູ່ບ່ອນນັ້ນທ່ານສາມາດຕື່ມຂໍ້ມູນລົງໃນຟອມພ້ອມກັບຄຳອະທິບາຍກ່ຽວກັບຜົນທີ່ທ່ານໄດ້ຮັບ. ພຽງແຕ່ກົດປຸ່ມ Enter Result ແລະ ຕື່ມຂໍ້ມູນລົງໃນຟອມ. ໃສ່ຊື່ຜູ້ໃຊ້ໃນຫ້ອງ Username, ໃນຫ້ອງ Profile ໃຫ້ໃສ່ຄຳອະທິບາຍກ່ຽວກັບເຄື່ອງທີ່ທ່ານໃຊ້ທົດສອບເຄີເນີນ, ແລະ ເລືອກຜົນການທົດສອບ ຈາກເມນູເລືອກ (ຫຼົ້ມເຫຼວ ຫຼື ຜ່ານ). ໃນຫ້ອງ Bugs ທ່ານສາມາດຂຽນເລກຂອງບັກ (ຫຼື ຫຼາຍເລກບັກ ໂດຍຂັ້ນດ້ວຍຈ້ຳຈຸດ ເຊັ່ນ: '752855;25532') ທີ່ທ່ານໄດ້ແຈ້ງໄວ້ໃນ Bugzilla ສຳລັບເຄີເນີນຕົວນັ້ນ. ຫາກທ່ານພົບບັກໃນເຄີເນີນ, ກະລຸນາລາຍງານຜ່ານ ລິ້ງນີ້. ຫາກທ່ານບໍ່ມີບັນຊີ Bugzilla, ທ່ານຍັງສາມາດເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ FAS ຂອງທ່ານໄດ້.

ຫາກການທົດສອບຫຼົ້ມເຫຼວຊ້ຳໆ, ຂໍໃຫ້ຊ່ວຍໂດຍການລາຍງານຄວາມຫຼົ້ມເຫຼວນັ້ນລົງໃນ Bugzilla

ສຸດທ້າຍໃຫ້ເພີ່ມຄຳເຫັນ ຫຼື ຂໍ້ສັງເກດອື່ນໆທີ່ທ່ານຕ້ອງການໃນຫ້ອງ Comment ແລະ ກົດປຸ່ມ Submit Query.

*ສຳເລັດແລ້ວ!*

ຂອບໃຈທີ່ຊ່ວຍທີມງານ Fedora ໃນການທົດສອບເຄີເນີນເວີຊັນໃໝ່ຫຼ້າສຸດໃນເຄື່ອງຂອງທ່ານ!

ຫາກທ່ານຕ້ອງການຊ່ວຍເຫຼືອເພີ່ມເຕີມ: ເຂົ້າຮ່ວມທີມ Fedora Quality Assurance ແລະ ສະເໜີກໍລະນີທົດສອບໃໝ່ໆສຳລັບເຄີເນີນ ທີ່ຍັງບໍ່ມີໃນ ໜ້ານີ້.