From: darless <3382617+darless@users.noreply.github.com> Date: Tue, 11 Jul 2023 16:18:33 +0000 (-0500) Subject: Github actions added to perform lint and compile X-Git-Tag: v0.96~23^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4fc3361930ca7f820383b74d87578b45101a7d39;p=thirdparty%2Fmtr.git Github actions added to perform lint and compile In the test folder, there was lint.sh, but I think flake8 is a better tool. Added a compile job for linux, this runs compilation as defined in the README, runs a sample mtr and runs cmdparse.py test. Need documentation on what other tests to run and whether to include the testing in tox instead of running them individually. Not adding in this PR support for cygwin or freebsd, as that will need investigation on how to run. Minor: - Fixed a typo in configure.ac that used ---- vs -- for a flag option. --- diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..ed16194 --- /dev/null +++ b/.flake8 @@ -0,0 +1,14 @@ +[flake8] + +select = + E902, + E999, + S, + F, + +ignore = + F821 + +per-file-ignores = + test/*: S603,S404 + diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..c47f170 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,35 @@ +name: Test compilation +on: [push, pull_request] +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: 3.9 + - name: Install flake8 + run: pip3 install flake8==3.9.2 flake8-bandit==2.1.2 bandit==1.7.2 + - name: Run flake8 + run: python3 -m flake8 . + compile-linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: 3.9 + - uses: egor-tensin/setup-gcc@v1.3 + with: + version: latest + platform: x64 + - name: Bootstrap + run: ./bootstrap.sh + - name: Configure + run: ./configure --without-gtk --without-jansson + - name: Make + run: make -j $(nproc) + - name: Run sample mtr against 1.1.1.1 + run: ./mtr --report --report-cycles 1 -m 1 1.1.1.1 + - name: Run test - cmdparse.py + run: python3 ./test/cmdparse.py \ No newline at end of file diff --git a/.gitignore b/.gitignore index d3d1068..887cc01 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ stamp-h1* /test/*.py.trs /mtr-*.tar.gz +*.swp diff --git a/configure.ac b/configure.ac index 286ede6..cc07d81 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ m4_ifndef([PKG_CHECK_MODULES], [m4_defun([PKG_CHECK_MODULES], [AC_MSG_ERROR( [Could not locate the pkg-config autoconf macros. These are usually located in /usr/share/aclocal/pkg.m4. If your macros are in a different location, try setting the environment variable ACLOCAL_OPTS="-I/other/macro/dir" -before running ./bootstrap.sh again, or configure --without-gtk ----without-jansson ])]) +before running ./bootstrap.sh again, or configure --without-gtk --without-jansson ])]) ]) PKG_PROG_PKG_CONFIG diff --git a/test/probe.py b/test/probe.py index df5f496..30acd45 100755 --- a/test/probe.py +++ b/test/probe.py @@ -263,7 +263,6 @@ class TestProbeICMPv4(mtrpacket.MtrPacketTest): required_success = int(loop_count * 0.90) self.assertGreaterEqual(success_count, required_success) - class TestProbeICMPv6(mtrpacket.MtrPacketTest): '''Test sending probes using IP version 6'''