From d88349a403ea14da8d7a7771f856de779f73d284 Mon Sep 17 00:00:00 2001 From: Val Lorentz Date: Sun, 24 Sep 2023 15:33:36 +0200 Subject: [PATCH] Sable: Run services tests (#234) Also add per-test timeout so I could debug why Sable's services test hang --- .github/workflows/test-devel.yml | 92 ++++++++++---------- .github/workflows/test-devel_release.yml | 12 +-- .github/workflows/test-stable.yml | 102 +++++++++++------------ Makefile | 1 - irctest/controllers/sable.py | 8 +- make_workflows.py | 4 +- workflows.yml | 2 +- 7 files changed, 113 insertions(+), 108 deletions(-) diff --git a/.github/workflows/test-devel.yml b/.github/workflows/test-devel.yml index 088e93d..4649b2e 100644 --- a/.github/workflows/test-devel.yml +++ b/.github/workflows/test-devel.yml @@ -457,9 +457,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make bahamut timeout-minutes: 30 - if: always() @@ -496,9 +496,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make bahamut-anope timeout-minutes: 30 - if: always() @@ -529,9 +529,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make bahamut-atheme timeout-minutes: 30 - if: always() @@ -569,9 +569,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/go/sbin:~/go/bin:~/go:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/go/sbin:~/go/bin:~/go:$PATH make ergo timeout-minutes: 30 - if: always() @@ -608,9 +608,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make hybrid timeout-minutes: 30 - if: always() @@ -641,9 +641,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make inspircd timeout-minutes: 30 - if: always() @@ -680,9 +680,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make inspircd-anope timeout-minutes: 30 - if: always() @@ -719,9 +719,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make ircu2 timeout-minutes: 30 - if: always() @@ -747,9 +747,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make limnoria timeout-minutes: 30 - if: always() @@ -785,9 +785,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make nefarious timeout-minutes: 30 - if: always() @@ -818,9 +818,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make ngircd timeout-minutes: 30 - if: always() @@ -857,9 +857,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make ngircd-anope timeout-minutes: 30 - if: always() @@ -890,9 +890,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make ngircd-atheme timeout-minutes: 30 - if: always() @@ -929,9 +929,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make plexus4 timeout-minutes: 30 - if: always() @@ -976,9 +976,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=$GITHUB_WORKSPACE/sable/target/debug/sbin:$GITHUB_WORKSPACE/sable/target/debug/bin:$GITHUB_WORKSPACE/sable/target/debug:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=$GITHUB_WORKSPACE/sable/target/debug/sbin:$GITHUB_WORKSPACE/sable/target/debug/bin:$GITHUB_WORKSPACE/sable/target/debug:$PATH make sable timeout-minutes: 30 - if: always() @@ -1009,9 +1009,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make solanum timeout-minutes: 30 - if: always() @@ -1036,9 +1036,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make sopel timeout-minutes: 30 - if: always() @@ -1074,9 +1074,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make thelounge timeout-minutes: 30 - if: always() @@ -1107,9 +1107,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make unrealircd timeout-minutes: 30 - if: always() @@ -1140,9 +1140,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make unrealircd-5 timeout-minutes: 30 - if: always() @@ -1179,9 +1179,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make unrealircd-anope timeout-minutes: 30 - if: always() @@ -1212,9 +1212,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make unrealircd-atheme timeout-minutes: 30 - if: always() @@ -1256,9 +1256,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH IRCTEST_DLK_PATH="${{ github.workspace }}/Dlk-Services" IRCTEST_WP_CLI_PATH="${{ github.workspace }}/wp-cli.phar" IRCTEST_WP_ZIP_PATH="${{ github.workspace }}/wordpress-latest.zip" make unrealircd-dlk diff --git a/.github/workflows/test-devel_release.yml b/.github/workflows/test-devel_release.yml index dcff7fc..b903263 100644 --- a/.github/workflows/test-devel_release.yml +++ b/.github/workflows/test-devel_release.yml @@ -130,9 +130,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make inspircd timeout-minutes: 30 - if: always() @@ -169,9 +169,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make inspircd-anope timeout-minutes: 30 - if: always() @@ -202,9 +202,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make inspircd-atheme timeout-minutes: 30 - if: always() diff --git a/.github/workflows/test-stable.yml b/.github/workflows/test-stable.yml index 92461d3..5ceca3b 100644 --- a/.github/workflows/test-stable.yml +++ b/.github/workflows/test-stable.yml @@ -500,9 +500,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make bahamut timeout-minutes: 30 - if: always() @@ -539,9 +539,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make bahamut-anope timeout-minutes: 30 - if: always() @@ -572,9 +572,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make bahamut-atheme timeout-minutes: 30 - if: always() @@ -605,9 +605,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make charybdis timeout-minutes: 30 - if: always() @@ -645,9 +645,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/go/sbin:~/go/bin:~/go:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/go/sbin:~/go/bin:~/go:$PATH make ergo timeout-minutes: 30 - if: always() @@ -684,9 +684,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make hybrid timeout-minutes: 30 - if: always() @@ -717,9 +717,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make inspircd timeout-minutes: 30 - if: always() @@ -756,9 +756,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make inspircd-anope timeout-minutes: 30 - if: always() @@ -789,9 +789,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/inspircd/sbin:~/.local/inspircd/bin:~/.local/inspircd:$PATH make inspircd-atheme timeout-minutes: 30 - if: always() @@ -839,9 +839,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make irc2 timeout-minutes: 30 - if: always() @@ -878,9 +878,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make ircu2 timeout-minutes: 30 - if: always() @@ -905,9 +905,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make limnoria timeout-minutes: 30 - if: always() @@ -943,9 +943,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make nefarious timeout-minutes: 30 - if: always() @@ -976,9 +976,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make ngircd timeout-minutes: 30 - if: always() @@ -1015,9 +1015,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make ngircd-anope timeout-minutes: 30 - if: always() @@ -1048,9 +1048,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local//sbin:~/.local//bin:~/.local/:$PATH make ngircd-atheme timeout-minutes: 30 - if: always() @@ -1087,9 +1087,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make plexus4 timeout-minutes: 30 - if: always() @@ -1111,7 +1111,7 @@ jobs: uses: actions/checkout@v3 with: path: sable - ref: 1e05b0ebaa76cf7aa6ce2c34ba50744d6abbe9b0 + ref: dcf8b53cac54f460b86861908d36d67969cf1eb2 repository: Libera-Chat/sable - name: Install rust toolchain uses: actions-rs/toolchain@v1 @@ -1134,9 +1134,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=$GITHUB_WORKSPACE/sable/target/debug/sbin:$GITHUB_WORKSPACE/sable/target/debug/bin:$GITHUB_WORKSPACE/sable/target/debug:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=$GITHUB_WORKSPACE/sable/target/debug/sbin:$GITHUB_WORKSPACE/sable/target/debug/bin:$GITHUB_WORKSPACE/sable/target/debug:$PATH make sable timeout-minutes: 30 - if: always() @@ -1167,9 +1167,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make solanum timeout-minutes: 30 - if: always() @@ -1194,9 +1194,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make sopel timeout-minutes: 30 - if: always() @@ -1232,9 +1232,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH make thelounge timeout-minutes: 30 - if: always() @@ -1265,9 +1265,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make unrealircd timeout-minutes: 30 - if: always() @@ -1298,9 +1298,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make unrealircd-5 timeout-minutes: 30 - if: always() @@ -1337,9 +1337,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make unrealircd-anope timeout-minutes: 30 - if: always() @@ -1370,9 +1370,9 @@ jobs: - name: Install irctest dependencies run: |- python -m pip install --upgrade pip - pip install pytest pytest-xdist -r requirements.txt + pip install pytest pytest-xdist pytest-timeout -r requirements.txt - name: Test with pytest - run: PYTEST_ARGS='--junit-xml pytest.xml' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH + run: PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' PATH=$HOME/.local/bin:$PATH PATH=~/.local/unrealircd/sbin:~/.local/unrealircd/bin:~/.local/unrealircd:$PATH make unrealircd-atheme timeout-minutes: 30 - if: always() diff --git a/Makefile b/Makefile index e7a68ec..b414790 100644 --- a/Makefile +++ b/Makefile @@ -256,7 +256,6 @@ sable: $(PYTEST) $(PYTEST_ARGS) \ --controller=irctest.controllers.sable \ -n 20 \ - -m 'not services' \ -k '$(SABLE_SELECTORS)' solanum: diff --git a/irctest/controllers/sable.py b/irctest/controllers/sable.py index 8b5bf41..fa62482 100644 --- a/irctest/controllers/sable.py +++ b/irctest/controllers/sable.py @@ -256,7 +256,13 @@ SERVICES_CONFIG = """ "builtin:voice": [ "always_send", "voice_self", "receive_voice" ] - } + }, + + "password_hash": { + "algorithm": "bcrypt", // Only "bcrypt" is supported for now + "cost": 4, // Exponentially faster than the default 12 + }, + }, "event_log": { diff --git a/make_workflows.py b/make_workflows.py index 8ffa6be..377b483 100644 --- a/make_workflows.py +++ b/make_workflows.py @@ -212,7 +212,7 @@ def get_test_job(*, config, test_config, test_id, version_flavor, jobs): "name": "Install irctest dependencies", "run": script( "python -m pip install --upgrade pip", - "pip install pytest pytest-xdist -r requirements.txt", + "pip install pytest pytest-xdist pytest-timeout -r requirements.txt", *( software_config["extra_deps"] if "extra_deps" in software_config @@ -224,7 +224,7 @@ def get_test_job(*, config, test_config, test_id, version_flavor, jobs): "name": "Test with pytest", "timeout-minutes": 30, "run": ( - f"PYTEST_ARGS='--junit-xml pytest.xml' " + f"PYTEST_ARGS='--junit-xml pytest.xml --timeout 60' " f"PATH=$HOME/.local/bin:$PATH " f"{env}make {test_id}" ), diff --git a/workflows.yml b/workflows.yml index e49e99e..8d3de4a 100644 --- a/workflows.yml +++ b/workflows.yml @@ -254,7 +254,7 @@ software: name: Sable repository: Libera-Chat/sable refs: - stable: 1e05b0ebaa76cf7aa6ce2c34ba50744d6abbe9b0 + stable: dcf8b53cac54f460b86861908d36d67969cf1eb2 release: null devel: master devel_release: null