Browse Source

ext/lib-test: tests for return/param type PS by value

master
heck 4 years ago
parent
commit
8734840060
  1. 2
      examples/ext/lib_test/lib_test/gen/config.json
  2. 66
      examples/ext/lib_test/tests/test_lib_test.py

2
examples/ext/lib_test/lib_test/gen/config.json

@ -28,7 +28,9 @@
"func_pppPc_args_pppPc", "func_pppPc_args_pppPc",
"func_pppPc_args_pppPc_ppPc", "func_pppPc_args_pppPc_ppPc",
"func__PS_args_V", "func__PS_args_V",
"func__PS_args__PS",
"func_TTAPS_args_V", "func_TTAPS_args_V",
"func_TTAPS_args_TTAPS",
"func_pTAPS_args_V", "func_pTAPS_args_V",
"func_ppTAPS_args_V", "func_ppTAPS_args_V",
"func_pppTAPS_args_V", "func_pppTAPS_args_V",

66
examples/ext/lib_test/tests/test_lib_test.py

@ -6,7 +6,9 @@ import pytest
import lib_test import lib_test
from lib_test import * from lib_test import *
# Int # // Int
# // ===
# // By Value
def test_func_V_args_V(): def test_func_V_args_V():
(ret,) = func_V_args_V() (ret,) = func_V_args_V()
assert(ret == None) assert(ret == None)
@ -44,7 +46,9 @@ def test_func_Pi_args_Pi_pPi_pPi():
assert (arg2 == 23) assert (arg2 == 23)
assert (arg3 == 23) assert (arg3 == 23)
# Char # // Char
# // ====
# // By Value
def test_func_Pc_args_V(): def test_func_Pc_args_V():
(ret,) = func_Pc_args_V() (ret,) = func_Pc_args_V()
print("RESULT:", ret) print("RESULT:", ret)
@ -66,7 +70,7 @@ def test_func_Pc_args_Pc():
assert (ret == 'A') assert (ret == 'A')
assert (arg1 == 'a') assert (arg1 == 'a')
# char* # // Char*
def test_func_pPcStr_args_V(): def test_func_pPcStr_args_V():
(ret,) = func_pPcStr_args_V() (ret,) = func_pPcStr_args_V()
print("RESULT:", ret) print("RESULT:", ret)
@ -90,12 +94,6 @@ def test_func_V_args_pPcStr():
assert (ret == None) assert (ret == None)
assert (arg1 == 'PEP') assert (arg1 == 'PEP')
def test_func_V_args_pPcChr_with_Str_with_Chr():
(ret,arg1) = func_V_args_pPcChr('a')
print("RESULT:", ret, arg1)
assert (ret == None)
assert (arg1 == 'A')
def test_func_Pc_args_Pc_pPc_pPc(): def test_func_Pc_args_Pc_pPc_pPc():
(ret, arg1, arg2, arg3) = func_Pc_args_Pc_pPc_pPc('A', 'a','a') (ret, arg1, arg2, arg3) = func_Pc_args_Pc_pPc_pPc('A', 'a','a')
print("RESULT:", ret, arg1, arg2, arg3) print("RESULT:", ret, arg1, arg2, arg3)
@ -104,7 +102,7 @@ def test_func_Pc_args_Pc_pPc_pPc():
assert (arg2 == 'A') assert (arg2 == 'A')
assert (arg3 == 'A') assert (arg3 == 'A')
# String-by-value (const char*) # // String-by-value (const char*)
def test_func_pPcc_args_V(): def test_func_pPcc_args_V():
(ret,) = func_pPcc_args_V() (ret,) = func_pPcc_args_V()
print("RESULT:", ret) print("RESULT:", ret)
@ -133,6 +131,7 @@ def test_func_pPcc_args_pPcc_pPcc():
assert (arg1 == instr) assert (arg1 == instr)
assert (arg2 == instr) assert (arg2 == instr)
# // String-by-ref (char**)
def test_func_ppPc_args_V(): def test_func_ppPc_args_V():
(ret,) = func_ppPc_args_V() (ret,) = func_ppPc_args_V()
print("RESULT:", ret) print("RESULT:", ret)
@ -144,6 +143,7 @@ def test_func_pppPc_args_V():
assert (ret == "pEp") assert (ret == "pEp")
def test_func_V_args_ppPc(): def test_func_V_args_ppPc():
instr = "orig"
instr = "orig" instr = "orig"
(ret,arg1) = func_V_args_ppPc(instr) (ret,arg1) = func_V_args_ppPc(instr)
print("RESULT:", ret,arg1) print("RESULT:", ret,arg1)
@ -156,28 +156,56 @@ def test_func_pppPc_args_pppPc():
print("RESULT:", ret,arg1) print("RESULT:", ret,arg1)
assert (ret == "pEp") assert (ret == "pEp")
assert (arg1 == "pEp") assert (arg1 == "pEp")
#
# def test_func_ppPc_args_ppPc_ppPc():
# instr = "orig"
# instr2 = "orig"
# (ret,arg1,arg2) = func_ppPc_args_ppPc_ppPc(instr,instr2)
# print("RESULT:", ret,arg1,arg2)
# assert (ret == "pEp")
# assert (arg1 == "pEp")
# assert (arg2 == "pEp")
def test_func_pppPc_args_pppPc_ppPc():
instr = "orig"
instr2 = "orig"
(ret,arg1,arg2) = func_pppPc_args_pppPc_ppPc(instr,instr2)
print("RESULT:", ret,arg1,arg2)
assert (ret == "pEp")
assert (arg1 == "pEp")
assert (arg2 == "pEp")\
# // Structs
# // =======
# // By value
def test_func__PS_args_V(): def test_func__PS_args_V():
(ret,) = func__PS_args_V() (ret,) = func__PS_args_V()
print(PS_to_string(ret)) print(PS_to_string(ret))
assert(ret.field__P_1 == 23); assert(ret.field__P_1 == 23);
assert(ret.field__P_2 == 23); assert(ret.field__P_2 == 23);
def test_func__PS_args__PS():
ps = lib_test._PS()
ps.field__P_1 = 3
ps.field__P_2 = 3
(ret,psout) = func__PS_args__PS(ps)
print("ret:",PS_to_string(ret))
print("psout:",PS_to_string(psout))
assert(ret.field__P_1 == 23);
assert(ret.field__P_2 == 23);
assert(psout.field__P_1 == 3);
assert(psout.field__P_2 == 3);
def test_func_TTAPS_args_V(): def test_func_TTAPS_args_V():
(ret,) = func_TTAPS_args_V() (ret,) = func_TTAPS_args_V()
print(PS_to_string(ret)) print(PS_to_string(ret))
assert(ret.field__P_1 == 23); assert(ret.field__P_1 == 23);
assert(ret.field__P_2 == 23); assert(ret.field__P_2 == 23);
def test_func_TTAPS_args_TTAPS():
ps = PS()
ps.field__P_1 = 3
ps.field__P_2 = 3
(ret,psout) = func_TTAPS_args_TTAPS(ps)
print("ret:",PS_to_string(ret))
print("psout:",PS_to_string(psout))
assert(ret.field__P_1 == 23);
assert(ret.field__P_2 == 23);
assert(psout.field__P_1 == 3);
assert(psout.field__P_2 == 3);
# // By pointer
def test_func_pTAPS_args_V(): def test_func_pTAPS_args_V():
(ret,) = func_pTAPS_args_V() (ret,) = func_pTAPS_args_V()
print(PS_to_string(ret)) print(PS_to_string(ret))

Loading…
Cancel
Save