Hi, It was a manual test. I used the default example and adapted it with the parameters in "Test settings". "Test result" is just a copy from the logs to stdio.
I was just to make sure we exchange all data types supported by the protocol. This could be automated indeed but I didn't do anything for that purpose. Gilchrist On Wed, May 6, 2020, 16:13 Илья Шипицин <chipits...@gmail.com> wrote: > How did you get "test result"? > Should we add automated test for that? For example, once a week > > On Wed, May 6, 2020, 5:28 PM Gilchrist Dadaglo <dada...@amazon.com> wrote: > >> >> Background: >> Python 2 is no longer supported since January, 1st 2020 as per >> https://www.python.org/doc/sunset-python-2/ >> The purpose of this change is to make the spoa_server contrib >> library >> compatible with Python 3 to allow transition to Python 3. >> >> Test Settings: >> ps_python.py: >> ... >> spoa.set_var_null("null", spoa.scope_txn) >> spoa.set_var_boolean("boolean", spoa.scope_txn, True) >> spoa.set_var_int32("int32", spoa.scope_txn, 1234) >> spoa.set_var_uint32("uint32", spoa.scope_txn, 1234) >> spoa.set_var_int64("int64", spoa.scope_txn, 1234) >> spoa.set_var_uint64("uint64", spoa.scope_txn, 1234) >> spoa.set_var_ipv4("ipv4", spoa.scope_txn, >> ipaddress.IPv4Address(u"127.0.0.1")) >> spoa.set_var_ipv6("ipv6", spoa.scope_txn, >> ipaddress.IPv6Address(u"1::f")) >> spoa.set_var_str("str", spoa.scope_txn, "1::f") >> spoa.set_var_bin("bin", spoa.scope_txn, "1:\x01:\x42f\x63\x63") >> spoa.set_var_str("python_version", spoa.scope_sess, >> str(sys.version_info)) >> ... >> haproxy.cfg: >> ... >> http-request capture var(txn.verb.null),debug len 1 >> http-request capture var(txn.verb.boolean),debug len 1 >> http-request capture var(txn.verb.int32),debug len 4 >> http-request capture var(txn.verb.uint32),debug len 4 >> http-request capture var(txn.verb.int64),debug len 4 >> http-request capture var(txn.verb.uint64),debug len 4 >> http-request capture var(txn.verb.ipv4),debug len 16 >> http-request capture var(txn.verb.ipv6),debug len 45 >> http-request capture var(txn.verb.str),debug len 32 >> http-request capture var(txn.verb.bin),debug len 32 >> http-request capture var(sess.verb.python_version),debug len 100 >> ... >> >> Test result: >> Python 3.8: >> ft_public ft_public/<NOSRV> 0/-1/-1/-1/0 403 212 - - PR-- >> 1/1/0/0/0 0/0 >> {|1|1234|1234|1234|1234|127.0.0.1|1::f|1::f|1:#01:Bfcc|sys.version_info(major=3, >> minor=8, micro=1, releaselevel='final', serial=0)} "POST / HTTP/1.1" >> Python 3.7: >> ft_public ft_public/<NOSRV> 0/-1/-1/-1/0 403 212 - - PR-- >> 1/1/0/0/0 0/0 >> {|1|1234|1234|1234|1234|127.0.0.1|1::f|1::f|1:#01:Bfcc|sys.version_info(major=3, >> minor=7, micro=6, releaselevel='final', serial=0)} "POST / HTTP/1.1" >> Python 3.6: >> ft_public ft_public/<NOSRV> 0/-1/-1/-1/0 403 212 - - PR-- >> 1/1/0/0/0 0/0 >> {|1|1234|1234|1234|1234|127.0.0.1|1::f|1::f|1:#01:Bfcc|sys.version_info(major=3, >> minor=6, micro=10, releaselevel='final', serial=0)} "POST / HTTP/1.1" >> Python 2.7: >> ft_public ft_public/<NOSRV> 0/-1/-1/-1/0 403 212 - - PR-- >> 1/1/0/0/0 0/0 >> {|1|1234|1234|1234|1234|127.0.0.1|1::f|1::f|1:#01:Bfcc|sys.version_info(major=2, >> minor=7, micro=17, releaselevel='final', serial=0)} "POST / HTTP/1.1" >> >> Not tested: >> Python <2.7 >> --- >> haproxy/contrib/spoa_server/Makefile | 37 +++++ >> haproxy/contrib/spoa_server/README | 10 +- >> haproxy/contrib/spoa_server/ps_python.c | 179 +++++++++++++++++++----- >> haproxy/contrib/spoa_server/ps_python.h | 52 +++++++ >> 4 files changed, 241 insertions(+), 37 deletions(-) >> create mode 100644 haproxy/contrib/spoa_server/ps_python.h >> >>