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
>
>

Reply via email to