ການທົດສອບທົ່ວໄປ
ການທົດສອບທົ່ວໄປ ແມ່ນການທົດສອບທີ່ບໍ່ໄດ້ກວດສອບສະເພາະແຕ່ສ່ວນປະກອບໃດໜຶ່ງ (ເຊັ່ນ: "dnf" ຫຼື "kernel") ແຕ່ໂດຍທົ່ວໄປແລ້ວ ສາມາດນຳໃຊ້ໄດ້ກັບທຸກໆຜົນຜະລິດ (artifacts) ໃນປະເພດໃດໜຶ່ງ. ຕົວຢ່າງຂອງການທົດສອບດັ່ງກ່າວ ແມ່ນການທົດສອບທີ່ສາມາດເຮັດວຽກໄດ້ກັບທຸກການບິວ RPM ໃນການອັບເດດ Bodhi.
Generic Tests for Bodhi updates
Fedora CI currently provides four generic tests that run on Bodhi updates for Fedora Rawhide. Some of them run on updates for other releases as well.
rpmdeplint
rpmdeplint ແມ່ນການທົດສອບທົ່ວໄປທີ່ພະຍາຍາມລະບຸບັນຫາໃນແພັກເກດ RPM ໃນຂອບເຂດຂອງຜັງຄວາມກ່ຽວພັນ (dependency graph) ຂອງພວກມັນ.
There are three different checks that the test performs. There is also a fourth check, check-repoclosure, but it is currently disabled as it is slow and inaccurate, and the rmdepcheck test does a better job.
check-sat
ອັນນີ້ແມ່ນກວດສອບວ່າ ທຸກຄວາມກ່ຽວພັນໃນເວລາເຮັດວຽກ (runtime dependencies) ຂອງແພັກເກດ RPM ທີ່ກຳນົດໃຫ້ນັ້ນ ຈະຖືກຕອບສະໜອງໄດ້ຫຼືບໍ່ ຖ້າແພັກເກດຖືກສົ່ງໄປຍັງຄັງເກັບ (repository) ທີ່ກຳນົດ (ເຊັ່ນ Rawhide).
check-conflicts
ອັນນີ້ກວດສອບຫາໄຟລ໌ທີ່ຂັດແຍ້ງກັນ (file conflicts) ທີ່ບໍ່ໄດ້ມີການປະກາດໄວ້ໃນແພັກເກດ RPM: ນັ້ນຄື ເມື່ອແພັກເກດໃດໜຶ່ງ ມີໄຟລ໌ທີ່ຊ້ຳກັບທີ່ມີຢູ່ໃນແພັກເກດອື່ນ.
ຄຳສັ່ງນີ້ຈະບໍ່ລາຍງານວ່າໄຟລ໌ຂັດແຍ້ງກັນ ລະຫວ່າງສອງແພັກເກດ ຖ້າຫາກວ່າ:
-
ມີການລະບຸການຂັດແຍ້ງ (RPM Conflicts) ຢ່າງຊັດເຈນລະຫວ່າງສອງແພັກເກດ; ຫຼື
-
ຄ່າເຊັກຊຳ (checksum), ສິດການເຂົ້າເຖິງ (permissions), ເຈົ້າຂອງ (owner), ແລະ ກຸ່ມ (group) ຂອງໄຟລ໌ນັ້ນ ຄືກັນທັງສອງແພັກເກດ (ໃນກໍລະນີນີ້ RPM ອະນຸຍາດໃຫ້ທັງສອງແພັກເກດເປັນເຈົ້າຂອງໄຟລ໌ຮ່ວມກັນໄດ້); ຫຼື
-
ສີ (color) ຂອງໄຟລ໌ແຕກຕ່າງກັນລະຫວ່າງສອງແພັກເກດ (RPM ຈະແກ້ໄຂຄວາມຂັດແຍ້ງໂດຍເລືອກໄຟລ໌ແບບ 64-bit ໂດຍອັດຕະໂນມັດ).
|
ໃນບາງຄັ້ງ ໄຟລ໌ໜຶ່ງອາດເປັນເຈົ້າຂອງໂດຍແພັກເກດທີ່ແຕກຕ່າງກັນເປັນພັນໆແພັກເກດ. ເພື່ອທີ່ຈະກວດສອບໄດ້ຢ່າງຖືກຕ້ອງວ່າບໍ່ມີໄຟລ໌ໃດຂັດແຍ້ງກັນ, |
check-upgrade
ກວດສອບວ່າ ບໍ່ມີແພັກເກດທີ່ມີຢູ່ໃນຄັງເກັບ (repositories) ທີ່ຈະມາອັບເກຣດ ຫຼື ແທນທີ່ແພັກເກດທີ່ກຳນົດໃຫ້ນີ້.
ຖ້າການກວດສອບນີ້ບໍ່ຜ່ານ, ມັນໝາຍຄວາມວ່າ ແພັກເກດທີ່ກຳລັງທົດສອບຈະບໍ່ມີມື້ຖືກຕິດຕັ້ງ (ເນື່ອງຈາກຕົວຈັດການແພັກເກດຈະເລືອກເອົາແພັກເກດທີ່ໃໝ່ກວ່າ ຫຼື ແພັກເກດທີ່ມາແທນທີ່ຈາກຄັງເກັບສະເໝີ) ເຊິ່ງມັນບໍ່ແມ່ນສິ່ງທີ່ຕ້ອງການ ຖ້າຫາກແພັກເກດນັ້ນຖືກຕັ້ງໃຈໃຫ້ເປັນການອັບເດດ.
rpminspect
ເຄື່ອງມືວິເຄາະຄວາມບ່ຽງເບນ (deviation) ຂອງການບິວ RPM. rpminspect ຈະເບິ່ງທີ່ຜົນຂອງການບິວ RPM (ເຊັ່ນ: ຜົນຈາກການບິວ Koji) ແລະ ກວດກາເນື້ອໃນຂອງຜົນຜະລິດການບິວ ເພື່ອລາຍງານ:
-
ການປະຕິບັດຕາມນະໂຍບາຍ
-
ການປ່ຽນແປງຈາກການບິວກ່ອນໜ້າ ຫາ ການບິວປະຈຸບັນ
-
ການບິວກ່ອນໜ້າ ແມ່ນການບິວຫຼ້າສຸດໃນຄັງເກັບທີ່ຄົງທີ່ (stable repository) (ໃນ Rawhide, ມັນຄືການບິວກ່ອນໜ້ານັ້ນເອງ)
-
-
ຄວາມຖືກຕ້ອງທົ່ວໄປ ແລະ ແນວທາງການປະຕິບັດທີ່ດີທີ່ສຸດ
rpminspect ປະຕິບັດການກວດສອບທີ່ແຕກຕ່າງກັນຫຼາຍກວ່າ 30 ລາຍການໃນແພັກເກດ. ເພື່ອເບິ່ງລາຍການທັງໝົດພ້ອມກັບຄຳອະທິບາຍ, ກະລຸນາໃຊ້ຄຳສັ່ງ rpminspect -v -l.
This test runs on updates for all Fedora releases including ELN, but not on EPEL updates.
installability (ຄວາມສາມາດໃນການຕິດຕັ້ງ)
ນີ້ແມ່ນການທົດສອບທົ່ວໄປທີ່ພະຍາຍາມປະຕິບັດການດັ່ງຕໍ່ໄປນີ້ກັບແພັກເກດທີ່ກຳນົດໃຫ້:
-
dnf install
-
dnf remove
-
dnf update
-
dnf downgrade
ບັນຫາທັງໝົດຈະຖືກບັນທຶກ ແລະ ລາຍງານ.
This test runs on updates for all Fedora releases, including ELN and EPEL.
rmdepcheck
This test checks whether the update would cause dependency issues in any other package if it were to be accepted. It also checks whether the dependencies of the packages in the update themselves are OK (this is mostly duplicated with rpmdeplint).
This test runs on updates for all Fedora releases, including ELN and EPEL.
Generic Tests for dist-git pull requests
Fedora CI also provides a set of generic tests that are run by Packit CI on dist-git pull requests. This set includes the rpminspect, installability and rmdepcheck tests listed above, but not the rpmdeplint test. It also includes three additional tests not run on Bodhi updates.
fedora-review
This test runs the fedora-review review helper utility on the package. It can be helpful in spotting cases where the package inadvertently moves away from compliance with the guidelines checked during the review process.
license-validate
This test runs license-validate on the pull request. license-validate checks that the License tag is in the expected SPDX format and contains only allowed licenses.
rpmlint
This test runs the rpmlint package linter on the pull request.
Want to help? Learn how to contribute to Fedora Docs ›