summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSergey V. Lobanov <sergey@lobanov.in>2024-08-22 15:47:40 +0000
committerSergey V. Lobanov <sergey@lobanov.in>2024-08-23 23:45:58 +0000
commit3be221b510112a30922b1da2697eaaaca09ebfd5 (patch)
tree9db426752552a23796c9fc3c0ac749b4ac099681 /tests
parent2d38a77c008524e293e0dc4b1e46c9093e7a9457 (diff)
downloadaccel-ppp-3be221b510112a30922b1da2697eaaaca09ebfd5.tar.gz
accel-ppp-3be221b510112a30922b1da2697eaaaca09ebfd5.zip
ci: run tests in alpine vm
Alpine Linux uses musl libc so now accel-ppp is tested under musl Currently, Alpine Linux doesn't provide a link to the latest stable version so direct link to Alpine 3.20 is used Improved musl support might be used to run on platforms like openwrt without additional patches
Diffstat (limited to 'tests')
-rw-r--r--tests/accel-pppd/general/test_basic.py4
-rw-r--r--tests/accel-pppd/general/test_pcre_negative_cases.py10
-rw-r--r--tests/accel-pppd/ipoe/dhcpv4/test_ipoe_shared_session_wo_auth.py10
-rw-r--r--tests/accel-pppd/pppoe/conftest.py17
-rw-r--r--tests/accel-pppd/pppoe/test_pppoe_disc.py8
-rw-r--r--tests/accel-pppd/pppoe/test_pppoe_pado_delay.py8
-rw-r--r--tests/accel-pppd/pppoe/test_pppoe_session_wo_auth.py9
-rw-r--r--tests/accel-pppd/pppoe/test_pppoe_vlan_mon.py8
8 files changed, 67 insertions, 7 deletions
diff --git a/tests/accel-pppd/general/test_basic.py b/tests/accel-pppd/general/test_basic.py
index 2b2c6f71..9652ee0b 100644
--- a/tests/accel-pppd/general/test_basic.py
+++ b/tests/accel-pppd/general/test_basic.py
@@ -19,9 +19,11 @@ def accel_pppd_config():
log_tcp
#log_pgsql
+ connlimit
pptp
l2tp
sstp
+ radius
pppoe
ipoe
@@ -30,7 +32,6 @@ def accel_pppd_config():
auth_chap_md5
auth_pap
- radius
chap-secrets
ippool
@@ -39,7 +40,6 @@ def accel_pppd_config():
shaper
#net-snmp
logwtmp
- connlimit
ipv6_nd
ipv6_dhcp
diff --git a/tests/accel-pppd/general/test_pcre_negative_cases.py b/tests/accel-pppd/general/test_pcre_negative_cases.py
index 7ad05ff3..698c83ab 100644
--- a/tests/accel-pppd/general/test_pcre_negative_cases.py
+++ b/tests/accel-pppd/general/test_pcre_negative_cases.py
@@ -6,14 +6,24 @@ from common import process
def accel_pppd_config():
return """
[modules]
+ radius
pppoe
+ [core]
+ log-error=/dev/stderr
+
[log]
log-debug=/dev/stdout
+ log-file=/dev/stdout
+ log-emerg=/dev/stderr
level=5
[cli]
tcp=127.0.0.1:2001
+
+ [radius]
+
+ [pppoe]
"""
diff --git a/tests/accel-pppd/ipoe/dhcpv4/test_ipoe_shared_session_wo_auth.py b/tests/accel-pppd/ipoe/dhcpv4/test_ipoe_shared_session_wo_auth.py
index da9a40e0..7ebb420a 100644
--- a/tests/accel-pppd/ipoe/dhcpv4/test_ipoe_shared_session_wo_auth.py
+++ b/tests/accel-pppd/ipoe/dhcpv4/test_ipoe_shared_session_wo_auth.py
@@ -9,7 +9,8 @@ def accel_pppd_config(veth_pair_netns):
return (
"""
[modules]
- pppoe
+ connlimit
+ radius
ipoe
ippool
@@ -20,10 +21,17 @@ def accel_pppd_config(veth_pair_netns):
[cli]
tcp=127.0.0.1:2001
+ [core]
+ log-error=/dev/stderr
+
[log]
log-debug=/dev/stdout
+ log-file=/dev/stdout
+ log-emerg=/dev/stderr
level=5
+ [radius]
+
[ipoe]
noauth=1
shared=1
diff --git a/tests/accel-pppd/pppoe/conftest.py b/tests/accel-pppd/pppoe/conftest.py
index 8ebaaed3..b3893200 100644
--- a/tests/accel-pppd/pppoe/conftest.py
+++ b/tests/accel-pppd/pppoe/conftest.py
@@ -1,5 +1,6 @@
-import pytest
+import pytest, subprocess, re
from common import pppd_process
+from packaging.version import Version
# pppd executable file name
@pytest.fixture()
@@ -13,11 +14,21 @@ def pppd(pytestconfig):
def pppd_config():
return ""
+# determines which plugin is required - pppoe.so (pppd 2.5.0+) or rp-pppoe.so (pppd <2.5.0)
+def pppd_plugin_so(pppd):
+ command = [pppd, "--version"]
+ result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
+ pppd_version = Version(re.search(r'\d+\.\d+\.\d+', result.stdout + result.stderr).group())
+ ref_version = Version("2.5.0")
+ if pppd_version >= ref_version:
+ return "pppoe.so"
+ else:
+ return "rp-pppoe.so"
# pppd configuration as command line args
@pytest.fixture()
-def pppd_args(pppd_config):
- return pppd_config.split()
+def pppd_args(pppd_config, pppd):
+ return ("plugin " + pppd_plugin_so(pppd) + "\n" + pppd_config).split()
# setup and teardown for tests that required running pppd (after accel-pppd)
diff --git a/tests/accel-pppd/pppoe/test_pppoe_disc.py b/tests/accel-pppd/pppoe/test_pppoe_disc.py
index eb069c42..64a0d295 100644
--- a/tests/accel-pppd/pppoe/test_pppoe_disc.py
+++ b/tests/accel-pppd/pppoe/test_pppoe_disc.py
@@ -8,15 +8,23 @@ def accel_pppd_config(veth_pair_netns):
return (
"""
[modules]
+ radius
pppoe
+ [core]
+ log-error=/dev/stderr
+
[log]
log-debug=/dev/stdout
+ log-file=/dev/stdout
+ log-emerg=/dev/stderr
level=5
[cli]
tcp=127.0.0.1:2001
+ [radius]
+
[pppoe]
ac-name=test-accel
interface="""
diff --git a/tests/accel-pppd/pppoe/test_pppoe_pado_delay.py b/tests/accel-pppd/pppoe/test_pppoe_pado_delay.py
index 96c73bf8..3a93d920 100644
--- a/tests/accel-pppd/pppoe/test_pppoe_pado_delay.py
+++ b/tests/accel-pppd/pppoe/test_pppoe_pado_delay.py
@@ -30,15 +30,23 @@ def accel_pppd_config(veth_pair_netns):
return (
"""
[modules]
+ radius
pppoe
+ [core]
+ log-error=/dev/stderr
+
[log]
log-debug=/dev/stdout
+ log-file=/dev/stdout
+ log-emerg=/dev/stderr
level=5
[cli]
tcp=127.0.0.1:2001
+ [radius]
+
[pppoe]
ac-name=test-accel
pado-delay=1500
diff --git a/tests/accel-pppd/pppoe/test_pppoe_session_wo_auth.py b/tests/accel-pppd/pppoe/test_pppoe_session_wo_auth.py
index 5ce870dd..960b7c94 100644
--- a/tests/accel-pppd/pppoe/test_pppoe_session_wo_auth.py
+++ b/tests/accel-pppd/pppoe/test_pppoe_session_wo_auth.py
@@ -9,12 +9,18 @@ def accel_pppd_config(veth_pair_netns):
return (
"""
[modules]
+ radius
pppoe
auth_pap
ippool
+ [core]
+ log-error=/dev/stderr
+
[log]
log-debug=/dev/stdout
+ log-file=/dev/stdout
+ log-emerg=/dev/stderr
level=5
[auth]
@@ -27,6 +33,8 @@ def accel_pppd_config(veth_pair_netns):
[cli]
tcp=127.0.0.1:2001
+ [radius]
+
[pppoe]
interface="""
+ veth_pair_netns["veth_a"]
@@ -47,7 +55,6 @@ def pppd_config(veth_pair_netns):
mtu 1492
noaccomp
default-asyncmap
- plugin rp-pppoe.so
user loginAB
password pass123
nic-"""
diff --git a/tests/accel-pppd/pppoe/test_pppoe_vlan_mon.py b/tests/accel-pppd/pppoe/test_pppoe_vlan_mon.py
index 670abc33..b73189c3 100644
--- a/tests/accel-pppd/pppoe/test_pppoe_vlan_mon.py
+++ b/tests/accel-pppd/pppoe/test_pppoe_vlan_mon.py
@@ -13,15 +13,23 @@ def accel_pppd_config(veth_pair_netns):
print(veth_pair_netns)
return """
[modules]
+ radius
pppoe
+ [core]
+ log-error=/dev/stderr
+
[log]
log-debug=/dev/stdout
+ log-file=/dev/stdout
+ log-emerg=/dev/stderr
level=5
[cli]
tcp=127.0.0.1:2001
+ [radius]
+
[pppoe]
ac-name=test-accel
vlan-mon=%s,10-20