mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-18 02:20:59 +03:00
729eb48666
It is useful to have control over the number of iterations of zloop so we can easily produce "x core dumps found *in y iterations*" metrics. Using random values for run/pass times doesn't improve coverage in a meaningful way. Randomizing run time could be seen as a compromise between running a greater variety of shorter tests versus a smaller variety of longer tests within a fixed time span. However, it is not desirable when running a fixed number of iterations. Pass time already incorporates randomness within ztest. Either parameter can be passed to ztest explicitly if the defaults are not satisfactory. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: John Kennedy <john.kennedy@delphix.com> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes #12411
68 lines
1.9 KiB
YAML
68 lines
1.9 KiB
YAML
name: zloop
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
tests:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
TEST_DIR: /var/tmp/zloop
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --yes -qq build-essential autoconf libtool gdb \
|
|
git alien fakeroot \
|
|
zlib1g-dev uuid-dev libblkid-dev libselinux-dev \
|
|
xfslibs-dev libattr1-dev libacl1-dev libudev-dev libdevmapper-dev \
|
|
libssl-dev libffi-dev libaio-dev libelf-dev libmount-dev \
|
|
libpam0g-dev \
|
|
python-dev python-setuptools python-cffi \
|
|
python3 python3-dev python3-setuptools python3-cffi
|
|
- name: Autogen.sh
|
|
run: |
|
|
sh autogen.sh
|
|
- name: Configure
|
|
run: |
|
|
./configure --enable-debug --enable-debuginfo
|
|
- name: Make
|
|
run: |
|
|
make --no-print-directory -s pkg-utils pkg-kmod
|
|
- name: Install
|
|
run: |
|
|
sudo dpkg -i *.deb
|
|
# Update order of directories to search for modules, otherwise
|
|
# Ubuntu will load kernel-shipped ones.
|
|
sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
|
|
sudo depmod
|
|
sudo modprobe zfs
|
|
- name: Tests
|
|
run: |
|
|
sudo mkdir -p $TEST_DIR
|
|
# run for 20 minutes to have a total runner time of 30 minutes
|
|
sudo /usr/share/zfs/zloop.sh -t 1200 -l -m1 -- -T 120 -P 60
|
|
- name: Prepare artifacts
|
|
if: failure()
|
|
run: |
|
|
sudo chmod +r -R $TEST_DIR/
|
|
- uses: actions/upload-artifact@v2
|
|
if: failure()
|
|
with:
|
|
name: Logs
|
|
path: |
|
|
/var/tmp/zloop/*/
|
|
!/var/tmp/zloop/*/vdev/
|
|
if-no-files-found: ignore
|
|
- uses: actions/upload-artifact@v2
|
|
if: failure()
|
|
with:
|
|
name: Pool files
|
|
path: |
|
|
/var/tmp/zloop/*/vdev/
|
|
if-no-files-found: ignore
|