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

Reply via email to