|
|
d39fd0b |
From 5f2d519d8872cb68fe4bc1571e4b070e88a7a405 Mon Sep 17 00:00:00 2001
|
|
|
d39fd0b |
From: Rob Crittenden <rcritten@redhat.com>
|
|
|
d39fd0b |
Date: Tue, 12 Mar 2019 12:38:30 +0000
|
|
|
d39fd0b |
Subject: [PATCH] Port to using python 3 for use in the test framework
|
|
|
d39fd0b |
|
|
|
d39fd0b |
---
|
|
|
d39fd0b |
Makefile.am | 8 ++++----
|
|
|
d39fd0b |
gencert.in | 2 +-
|
|
|
d39fd0b |
test/test.py | 8 --------
|
|
|
d39fd0b |
test/test_config.py | 16 ++++++++--------
|
|
|
d39fd0b |
test/test_request.py | 3 +--
|
|
|
d39fd0b |
test/test_util.py | 9 +++++++--
|
|
|
d39fd0b |
6 files changed, 21 insertions(+), 25 deletions(-)
|
|
|
d39fd0b |
|
|
|
d39fd0b |
diff --git a/Makefile.am b/Makefile.am
|
|
|
d39fd0b |
index 2009060..1946d00 100644
|
|
|
d39fd0b |
--- a/Makefile.am
|
|
|
d39fd0b |
+++ b/Makefile.am
|
|
|
d39fd0b |
@@ -100,14 +100,14 @@ EXTRA_DIST = *.h *.8 LICENSE test docs
|
|
|
d39fd0b |
check:
|
|
|
d39fd0b |
cd test; \
|
|
|
d39fd0b |
rm -rf work; \
|
|
|
d39fd0b |
- nosetests -v test_cipher.py; \
|
|
|
d39fd0b |
+ nosetests-3 -v test_cipher.py; \
|
|
|
d39fd0b |
if [ `id -u` != 0 ]; then \
|
|
|
d39fd0b |
./setup.sh -s 1 dbm:; \
|
|
|
d39fd0b |
- DBPREFIX=dbm: nosetests -v test.py; \
|
|
|
d39fd0b |
+ DBPREFIX=dbm: nosetests-3 -v test.py; \
|
|
|
d39fd0b |
sleep 5; \
|
|
|
d39fd0b |
rm -rf work; \
|
|
|
d39fd0b |
./setup.sh -s 1 sql:; \
|
|
|
d39fd0b |
- DBPREFIX=sql: nosetests -v test.py; \
|
|
|
d39fd0b |
+ DBPREFIX=sql: nosetests-3 -v test.py; \
|
|
|
d39fd0b |
cd ..; \
|
|
|
d39fd0b |
else \
|
|
|
d39fd0b |
echo "Skipping live tests as they cannot be run as root"; \
|
|
|
d39fd0b |
@@ -117,7 +117,7 @@ checksni:
|
|
|
d39fd0b |
cd test; \
|
|
|
d39fd0b |
rm -rf work; \
|
|
|
d39fd0b |
./setup.sh -s 25; \
|
|
|
d39fd0b |
- nosetests -v testsni.py; \
|
|
|
d39fd0b |
+ nosetests-3 -v testsni.py; \
|
|
|
d39fd0b |
cd ..
|
|
|
d39fd0b |
|
|
|
d39fd0b |
|
|
|
d39fd0b |
diff --git a/gencert.in b/gencert.in
|
|
|
d39fd0b |
index d119f04..9418025 100755
|
|
|
d39fd0b |
--- a/gencert.in
|
|
|
d39fd0b |
+++ b/gencert.in
|
|
|
d39fd0b |
@@ -38,7 +38,7 @@ getFQDN() {
|
|
|
d39fd0b |
echo $maxhost
|
|
|
d39fd0b |
return
|
|
|
d39fd0b |
fi
|
|
|
d39fd0b |
- hostname=$(python -c 'import socket; print(socket.getfqdn())')
|
|
|
d39fd0b |
+ hostname=$(python3 -c 'import socket; print(socket.getfqdn())')
|
|
|
d39fd0b |
if [ $? == 0 ]; then
|
|
|
d39fd0b |
echo $hostname
|
|
|
d39fd0b |
return
|
|
|
d39fd0b |
diff --git a/test/test.py b/test/test.py
|
|
|
d39fd0b |
index 20fd3d2..1b2cb66 100644
|
|
|
d39fd0b |
--- a/test/test.py
|
|
|
d39fd0b |
+++ b/test/test.py
|
|
|
d39fd0b |
@@ -221,14 +221,6 @@ class test_suite1(Declarative):
|
|
|
d39fd0b |
expected=200,
|
|
|
d39fd0b |
),
|
|
|
d39fd0b |
|
|
|
d39fd0b |
- dict(
|
|
|
d39fd0b |
- desc='Try SSLv3 client on 1.2-only VH',
|
|
|
d39fd0b |
- request=('/protocoltls12/index.html',
|
|
|
d39fd0b |
- {'port': 8001,
|
|
|
d39fd0b |
- 'ssl_version': ssl.PROTOCOL_SSLv3}),
|
|
|
d39fd0b |
- expected=requests.exceptions.SSLError(),
|
|
|
d39fd0b |
- ),
|
|
|
d39fd0b |
-
|
|
|
d39fd0b |
dict(
|
|
|
d39fd0b |
desc='Try TLSv1 client on 1.2-only VH',
|
|
|
d39fd0b |
request=('/protocoltls12/index.html',
|
|
|
d39fd0b |
diff --git a/test/test_config.py b/test/test_config.py
|
|
|
d39fd0b |
index f3091e8..749d041 100644
|
|
|
d39fd0b |
--- a/test/test_config.py
|
|
|
d39fd0b |
+++ b/test/test_config.py
|
|
|
d39fd0b |
@@ -61,7 +61,8 @@ def template_file(infilename, vars):
|
|
|
d39fd0b |
|
|
|
d39fd0b |
def write_template_file(infilename, outfilename, vars):
|
|
|
d39fd0b |
"""Read a file and perform template substitutions"""
|
|
|
d39fd0b |
- replacevars = dict(default_vars.items() + vars.items())
|
|
|
d39fd0b |
+ replacevars = dict(default_vars.items())
|
|
|
d39fd0b |
+ replacevars.update(vars.items())
|
|
|
d39fd0b |
with open(outfilename, 'w') as f:
|
|
|
d39fd0b |
f.write('%s\n' % template_file(infilename, replacevars))
|
|
|
d39fd0b |
|
|
|
d39fd0b |
@@ -171,17 +172,16 @@ class Declarative(object):
|
|
|
d39fd0b |
name = klass.__name__
|
|
|
d39fd0b |
try:
|
|
|
d39fd0b |
output = self.make_request(uri, options)
|
|
|
d39fd0b |
- except StandardError, e:
|
|
|
d39fd0b |
- pass
|
|
|
d39fd0b |
+ except Exception as e:
|
|
|
d39fd0b |
+ if not isinstance(e, klass):
|
|
|
d39fd0b |
+ if expected_str not in str(e):
|
|
|
d39fd0b |
+ raise AssertionError(
|
|
|
d39fd0b |
+ UNEXPECTED % (uri, name, options, e.__class__.__name__, e)
|
|
|
d39fd0b |
+ )
|
|
|
d39fd0b |
else:
|
|
|
d39fd0b |
raise AssertionError(
|
|
|
d39fd0b |
EXPECTED % (uri, name, options, output)
|
|
|
d39fd0b |
)
|
|
|
d39fd0b |
- if not isinstance(e, klass):
|
|
|
d39fd0b |
- if expected_str not in str(e):
|
|
|
d39fd0b |
- raise AssertionError(
|
|
|
d39fd0b |
- UNEXPECTED % (uri, name, options, e.__class__.__name__, e)
|
|
|
d39fd0b |
- )
|
|
|
d39fd0b |
|
|
|
d39fd0b |
def check_result(self, nice, uri, options, expected, cipher=None,
|
|
|
d39fd0b |
protocol=None, content=None):
|
|
|
d39fd0b |
diff --git a/test/test_request.py b/test/test_request.py
|
|
|
d39fd0b |
index 8b6dae2..6235e6f 100644
|
|
|
d39fd0b |
--- a/test/test_request.py
|
|
|
d39fd0b |
+++ b/test/test_request.py
|
|
|
d39fd0b |
@@ -3,7 +3,6 @@
|
|
|
d39fd0b |
|
|
|
d39fd0b |
import socket
|
|
|
d39fd0b |
import requests
|
|
|
d39fd0b |
-import urlparse
|
|
|
d39fd0b |
import logging
|
|
|
d39fd0b |
import socket
|
|
|
d39fd0b |
from requests.packages.urllib3.util import get_host
|
|
|
d39fd0b |
@@ -227,7 +226,7 @@ try:
|
|
|
d39fd0b |
'ssl_version': ssl.PROTOCOL_SSLv23,
|
|
|
d39fd0b |
'ciphers': 'HIGH'})
|
|
|
d39fd0b |
cipher = r.raw._pool._get_conn().client_cipher
|
|
|
d39fd0b |
-except requests.exceptions.SSLError, e:
|
|
|
d39fd0b |
+except requests.exceptions.SSLError as e:
|
|
|
d39fd0b |
print e.message
|
|
|
d39fd0b |
else:
|
|
|
d39fd0b |
print r.status_code
|
|
|
d39fd0b |
diff --git a/test/test_util.py b/test/test_util.py
|
|
|
d39fd0b |
index 101b6a2..95144fc 100644
|
|
|
d39fd0b |
--- a/test/test_util.py
|
|
|
d39fd0b |
+++ b/test/test_util.py
|
|
|
d39fd0b |
@@ -1,3 +1,4 @@
|
|
|
d39fd0b |
+import locale
|
|
|
d39fd0b |
import socket
|
|
|
d39fd0b |
import time
|
|
|
d39fd0b |
import subprocess
|
|
|
d39fd0b |
@@ -24,7 +25,7 @@ def host_port_open(host, port, socket_type=socket.SOCK_STREAM,
|
|
|
d39fd0b |
s.recv(512)
|
|
|
d39fd0b |
|
|
|
d39fd0b |
return True
|
|
|
d39fd0b |
- except socket.error, e:
|
|
|
d39fd0b |
+ except socket.error:
|
|
|
d39fd0b |
pass
|
|
|
d39fd0b |
finally:
|
|
|
d39fd0b |
if s:
|
|
|
d39fd0b |
@@ -81,7 +82,11 @@ def run(args):
|
|
|
d39fd0b |
p.wait()
|
|
|
d39fd0b |
raise
|
|
|
d39fd0b |
|
|
|
d39fd0b |
- return (stdout, stderr, p.returncode)
|
|
|
d39fd0b |
+ encoding = locale.getpreferredencoding()
|
|
|
d39fd0b |
+ output = stdout.decode(encoding)
|
|
|
d39fd0b |
+ error_output = stderr.decode(encoding)
|
|
|
d39fd0b |
+
|
|
|
d39fd0b |
+ return (output, error_output, p.returncode)
|
|
|
d39fd0b |
|
|
|
d39fd0b |
|
|
|
d39fd0b |
def assert_equal(got, expected):
|
|
|
d39fd0b |
--
|
|
|
d39fd0b |
2.20.1
|
|
|
d39fd0b |
|