ຕົວຢ່າງ
ໃນໜ້ານີ້ ທ່ານສາມາດຊອກຫາແຮງບັນດານໃຈຈາກຕົວຢ່າງຕົວຈິງຂອງການທົດສອບ ທີ່ໄດ້ເປີດໃຊ້ແລ້ວໃນ Fedora CI.
Python
ມີ Python ຫຼາຍເວີຊັນໃຫ້ເລືອກໃຊ້ໃນ Fedora ແລະ ມີແພັກເກັດຍ່ອຍທີ່ກ່ຽວຂ້ອງຈຳນວນໜຶ່ງ. ເນື່ອງຈາກທັງໝົດຄວນໄດ້ຮັບການທົດສອບ (ລວມທັງການປະສົມປະສານຕ່າງໆຂອງພວກມັນ) ພວກເຮົາຈຶ່ງ ແບ່ງປັນ ຂອບເຂດການທົດສອບ (test coverage) ສຳລັບພວກມັນໃນ namespace tests:
ຄັງເກັບຂໍ້ມູນການທົດສອບ (test repo) ປະກອບມີການທົດສອບພື້ນຖານ (smoke test) ສຳລັບ virtualenv ພ້ອມກັບຕົວຢ່າງການທົດສອບ Metadata ທີ່ຖືກຈັດເກັບໄວ້ໃນ Flexible Metadata Format:
ເມື່ອການທົດສອບມີໃຫ້ໃຊ້ໃນຄັງເກັບຂໍ້ມູນການທົດສອບສ່ວນກາງແລ້ວ ມັນກໍສາມາດເຊື່ອມໂຍງຈາກເວີຊັນ Python ທີ່ຮອງຮັບໄດ້ຢ່າງງ່າຍດາຍ:
ພວກເຮົາທົດສອບການເຮັດວຽກຂອງ Python ໃນຮູບແບບອື່ນໆຕື່ມອີກຄືກັນ:
Plus we ensure that essential tools for venv and virtualenv, such as setuptools, pip or virtualenv itself correctly work with all supported versions:
ໝາຍເຫດ: ສຳລັບຊຸດຕົວຢ່າງສຸດທ້າຍ ພວກເຮົາລັນການທົດສອບດຽວກັນຫຼາຍຄັ້ງດ້ວຍສະພາບແວດລ້ອມ (environment) ທີ່ຖືກປັບປ່ຽນ. ຕົວຢ່າງ:
- name: tests_python
how: shell
url: https://src.fedoraproject.org/tests/python.git
tests:
- name: smoke36
path: /smoke
test: VERSION=3.6 INSTALL_OR_SKIP=true ./venv.sh
- name: smoke39
path: /smoke
test: VERSION=3.9 INSTALL_OR_SKIP=true ./venv.sh
- name: smoke310
path: /smoke
test: VERSION=3.10 INSTALL_OR_SKIP=true ./venv.sh
ດ້ວຍວິທີນີ້ ພວກເຮົາສ້າງກໍລະນີການທົດສອບສະເໝືອນ (virtual test cases) ຫຼາຍອັນຈາກໂຄ້ດທົດສອບດຽວ ເຊິ່ງຊ່ວຍປ້ອງກັນການເຮັດຊ້ຳຊ້ອນ ແລະ ຫຼຸດຜ່ອນການບຳລຸງຮັກສາໃນອະນາຄົດ.
SELinux
ມີຄອມໂພເນນຫຼາຍອັນທີ່ກ່ຽວຂ້ອງກັບ SELinux. ພວກມັນມີຄວາມເຊື່ອມໂຍງກັນຢ່າງໃກ້ຊິດ ດັ່ງນັ້ນການປ່ຽນແປງໃນອັນໜຶ່ງອາດສົ່ງຜົນກະທົບຕໍ່ອັນອື່ນ. ນັ້ນແມ່ນເຫດຜົນທີ່ການທົດສອບຂອງພວກມັນຖືກໃຊ້ຮ່ວມກັນ ແລະ ປະຕິບັດການພ້ອມກັນ:
Instead of listing relevant tests to be executed manually in each dist-git package repository Flexible Metadata Format is used, e.g. in libsepol:
summary: selinux tests - Tier 1 | libsepol
discover:
how: fmf
url: https://src.fedoraproject.org/tests/selinux
filter: "tier: 1 | component: libsepol"
execute:
how: tmt
The filter selects all tests relevant for the libsepol component plus all Tier 1 selinux tests.
ມີ 6 ຄອມໂພເນນຕໍ່ໄປນີ້ທີ່ຄອບຄຸມຢູ່:
ໃຊ້ເຄື່ອງມື command line fmf ເພື່ອກວດສອບຢ່າງວ່ອງໄວວ່າການທົດສອບໃດຈະຖືກກຳນົດເວລາ (scheduled):
# dnf install -y fmf # fedpkg clone -a tests/selinux # cd selinux # fmf ls --filter "tier: 1 | component: libsepol" /checkpolicy/checkmodule /checkpolicy/checkpolicy /checkpolicy/checkpolicy-docs /kernel/selinux-testsuite /libselinux/matchpathcon-in-chroot-env /libselinux/realpath_not_final-function /libselinux/selabel-functions /libselinux/selabel_lookup-and-local-changes /libselinux/selinux_boolean_sub-function /libselinux/selinux_restorecon-functions /libselinux/selinux_sestatus-functions /libselinux/selinux_set_callback /libselinux/setenforce /libselinux/validatetrans ...
ເບິ່ງເອກະສານຂອງ Flexible Metadata Format ສຳລັບທາງເລືອກອື່ນໆໃນການ ຕິດຕັ້ງ fmf.
Want to help? Learn how to contribute to Fedora Docs ›