Create github workflow

This commit is contained in:
Brian May 2020-05-21 07:26:45 +10:00
parent 88ce5c0bca
commit b63e58f494
4 changed files with 39 additions and 5 deletions

35
.github/workflows/pythonpackage.yml vendored Normal file
View File

@ -0,0 +1,35 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.5, 3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-tests.txt
- name: Lint with flake8
run: |
flake8 sshuttle tests --count --show-source --statistics
- name: Test with pytest
run: |
PYTHONPATH=$PWD pytest

View File

@ -224,7 +224,7 @@ class FirewallClient:
# No env: Talking to `FirewallClient.start`, which has no i18n. # No env: Talking to `FirewallClient.start`, which has no i18n.
e = None e = None
break break
except OSError as e: except OSError:
pass pass
self.argv = argv self.argv = argv
s1.close() s1.close()
@ -304,8 +304,8 @@ class FirewallClient:
raise Fatal('%r expected STARTED, got %r' % (self.argv, line)) raise Fatal('%r expected STARTED, got %r' % (self.argv, line))
def sethostip(self, hostname, ip): def sethostip(self, hostname, ip):
assert(not re.search(b'[^-\w\.]', hostname)) assert(not re.search(rb'[^-\w\.]', hostname))
assert(not re.search(b'[^0-9.]', ip)) assert(not re.search(rb'[^0-9.]', ip))
self.pfile.write(b'HOST %s,%s\n' % (hostname, ip)) self.pfile.write(b'HOST %s,%s\n' % (hostname, ip))
self.pfile.flush() self.pfile.flush()

View File

@ -25,7 +25,7 @@ def _ipmatch(ipstr):
# FIXME: IPv4 only # FIXME: IPv4 only
if ipstr == 'default': if ipstr == 'default':
ipstr = '0.0.0.0/0' ipstr = '0.0.0.0/0'
m = re.match('^(\d+(\.\d+(\.\d+(\.\d+)?)?)?)(?:/(\d+))?$', ipstr) m = re.match(r'^(\d+(\.\d+(\.\d+(\.\d+)?)?)?)(?:/(\d+))?$', ipstr)
if m: if m:
g = m.groups() g = m.groups()
ips = g[0] ips = g[0]

View File

@ -114,7 +114,6 @@ def parse_hostport(rhostport):
host = parsed.hostname host = parsed.hostname
port = parsed.port port = parsed.port
if password is None or len(password) == 0: if password is None or len(password) == 0:
password = None password = None