4 Commits

14 changed files with 330 additions and 139 deletions

View File

@@ -9,9 +9,9 @@ This element is of the following form:
- let:
name: Let Item
values:
key1: value1
key2: value2
key3: <| $(variable)[$(loop_index)] |>
- key1: value1
- key2: value2
- key3: <| $(variable)[$(loop_index)] |>
The ``let`` element is used to set values in the global directory.

View File

@@ -51,8 +51,8 @@ The parameter file can be specified in the `.tum` file root:
:caption: configuration files definition in the main `.tum` test file
config_file:
config1.yaml
config2.yaml
- config1.yaml
- config2.yaml
main:
name: Test example

View File

@@ -344,7 +344,7 @@ class TestItemConsoleReadUntil(TestItemConsoleAction):
def execute(self):
cons = self.get_console()
ru = self._prms.expanse(self._read_until)
read_timeout = int(self._prms.getParam("timeout", default=-1, processed=True))
read_timeout = float(self._prms.getParam("timeout", default=-1, processed=True))
mute = self._prms.getParam("mute", default=False, processed=True)
if read_timeout < 0:
read_timeout = None

View File

@@ -56,9 +56,17 @@ function handle.func_call(params)
if err == nil then
print(string.format("Function executed from '%s'", pfile))
utils.log("func_call function found '%s', '%s'", file, fname)
succ, ret = pcall(func, unpack(prms))
err_res = {pcall(func, unpack(prms))}
utils.log("func_call returned '%s', '%s'", tostring(succ), tostring(ret))
-- manage tuple ouput of a lua function
succ = table.remove(err_res, 1)
if #err_res > 1 then
ret = err_res
else
ret = unpack(err_res)
end
if succ then
res = ret
else

View File

@@ -51,14 +51,18 @@ class TestFileManager:
w.disconnect_signals()
# Snapshot user-selected checkboxes and fold state so they survive a
# reload of the same file (same logic as session-restore through prefs).
# checkList works only if show_checkboxes is True
previous_check_list = w.treeTests.getCheckList()
previous_fold_list = w.treeTests.getFoldList()
previous_count = w.treeTests.getItemCount()
self.clear_process()
if self.load(file_name) and w.test_service is not None:
if w.treeTests.getItemCount() == previous_count:
if self.load(file_name) and \
w.test_service is not None and \
w.treeTests.getItemCount() == previous_count:
if prefs.settings.show_checkboxes :
w.treeTests.restoreCheckList(previous_check_list, w.test_service)
w.treeTests.restoreFoldList(previous_fold_list)
w.reconnect_signals()
def _make_progress(self, w):

View File

@@ -84,7 +84,18 @@
- read_until: {expected: HelloConsole, timeout: 1, mute: true}
- console:
name: Console read_until muted
name: Console read_until float timeout
console_name: term
key: $(test)_PASS
steps:
- writeln: echo "HelloConsole"
{% if os == "Windows" %}
- read_until: {expected: echo "HelloConsole", timeout: 0.2}
{% endif %}
- read_until: {expected: HelloConsole, timeout: 0.2}
- console:
name: Console read_until process result
console_name: term
key: $(test)_PASS
steps:

View File

@@ -11,8 +11,8 @@
- let:
name: Let it be
values:
it: $(loop_param)
be: <| $(loop_param) == $(it) |>
- it: $(loop_param)
- be: <| $(loop_param) == $(it) |>
- loop:
name: Cycle iterating on list

View File

@@ -12,12 +12,12 @@ function module.assertparam(param)
end
function module.checkglobal(param)
local res = tm.gd(param)
return res
assert(param=='test parameter')
return 0
end
function module.checkglobal2(index)
return tm.gd("lua_data_to_be_returned")[index]
return tm.gd("data_to_be_returned")[index+1]
end
function module.should_not_be_called(param)
@@ -53,7 +53,7 @@ function module.return_nothing()
-- Returns no value: ret is nil but no error.
end
function module.return_explicit_nil()
function module.return_explicit_none()
return nil
end

View File

@@ -1,6 +1,6 @@
skipped_test_item: ['skipped_checkglobal']
lua_data_to_be_returned:
data_to_be_returned:
- 1
- {a: 1, b: 2}
- ["a", 1, 2.1, True]

View File

@@ -1,7 +1,15 @@
- let:
name: lua_func test constants,
values:
lua_func test parameter: test parameter lua_func
- func_test_parameter: test parameter
- lua_func:
name: pass lua_func
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: assertparam
param:
- true
- lua_func:
name: fail lua_func
@@ -12,7 +20,7 @@
- false
- lua_func:
name: fail lua_func with expected result FAIL
name: fail lua_func with expected result "FAIL"
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: assertparam
@@ -62,35 +70,7 @@
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal
param:
- lua_func test parameter
expected_result: $(lua_func test parameter)
- lua_func:
name: global param lua_func 1
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal2
param:
- 1
expected_result: ($(lua_data_to_be_returned))[0]
- lua_func:
name: global param lua_func 2
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal2
param:
- 2
expected_result: ($(lua_data_to_be_returned))[1]
- lua_func:
name: global param lua_func 3
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal2
param:
- 3
expected_result: ($(lua_data_to_be_returned))[2]
- $(func_test_parameter)
- let:
name: python2func
@@ -98,88 +78,189 @@
values:
- py: $(test_path)$(psep)lua_func.lua
- lua_func:
name: global param int
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal2
param:
- 0
expected_result: ($(data_to_be_returned))[0]
- lua_func:
name: global param dict
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal2
param:
- 1
expected_result: ($(data_to_be_returned))[1]
- lua_func:
name: global param list
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal2
param:
- 2
expected_result: ($(data_to_be_returned))[2]
- lua_func:
name: global param lua_func
key: $(test)_PASS
file: $(py)
func_name: checkglobal
param:
- $(func_test_parameter)
- lua_func:
name: skipped_checkglobal
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: should_not_be_called
param:
- $(test parameter)
- $(func_test_parameter)
- lua_func:
name: skipped true
key: $(test)_FAIL
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal
func_name: echo
skipped: true
param:
- $(test parameter)
- "skipped"
- lua_func:
name: skipped 1
key: $(test)_FAIL
file: $(test_path)$(psep)lua_func.lua
func_name: checkglobal
func_name: echo
skipped: 1
param:
- $(test parameter)
- "skipped"
- group:
name: Function results check
steps:
- group:
name: Function result failure
name: Functions result
steps:
- lua_func:
name: int failure
name: int
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [-1]
- lua_func:
name: float failure
name: float
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [-1.3]
param: [-20.3]
- lua_func:
name: String failure
name: String
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [ "FAIL" ]
- lua_func:
name: Tuple int,str failure
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: tuple_return
param: [ -1, "Got a failure" ]
- group:
name: Functions result success
steps:
- lua_func:
name: int success
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [0]
- lua_func:
name: float success
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [0.3]
- lua_func:
name: String success
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [ "Something that is not only strictly FAIL" ]
- lua_func:
name: Tuple int,str success
name: Tuple int,str
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: tuple_return
param: [ 0, "OK" ]
- group:
name: Functions result expected
steps:
- lua_func:
name: int expected
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [18]
expected_result: 18
- lua_func:
name: float expected
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [0.3]
expected_result: 0.3
- lua_func:
name: String expected
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [ "Something" ]
expected_result: Something
- lua_func:
name: Tuple int,str expected
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: tuple_return
param: [ 0, "OK" ]
expected_result: [0, "OK"]
- lua_func:
name: small list expected
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [ [-23] ]
expected_result: [-23]
- lua_func:
name: big list expected
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [ [-23, 17, 67] ]
expected_result: [-23, 17, 67]
- group:
name: Function result not expected
steps:
- lua_func:
name: int not expected
key: $(test)_FAIL
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [18]
expected_result: 17
- lua_func:
name: float not expected
key: $(test)_FAIL
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [0.3]
expected_result: 0.5
- lua_func:
name: String not expected
key: $(test)_FAIL
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [ "Something" ]
expected_result: Nothing
- lua_func:
name: Tuple int,str not expected
key: $(test)_FAIL
file: $(test_path)$(psep)lua_func.lua
func_name: tuple_return
param: [ 0, "OK" ]
expected_result: [0, "OUPS"]
- lua_func:
name: small list not expected
key: $(test)_FAIL
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [ [-23] ]
expected_result: [-22]
- lua_func:
name: big list not expected
key: $(test)_FAIL
file: $(test_path)$(psep)lua_func.lua
func_name: echo
param: [ [-23, 17, 67] ]
expected_result: [-23, 16, 67]
- lua_func:
name: delgd test
key: $(test)_PASS
@@ -193,40 +274,39 @@
func_name: return_nothing
- lua_func:
name: function returning explicit nil should succeed
name: function returning explicit None should succeed
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: return_explicit_nil
func_name: return_explicit_none
- group:
name: context_id tests
steps:
- lua_func:
name: set context value
name: set serializable value
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: set_context_value
context_id: lua_ctx_test
param:
- hello lua
expected_result: hello lua
- hello context
expected_result: hello context
- lua_func:
name: get context value (same context_id)
name: get serializable value (same context_id)
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: get_context_value
context_id: lua_ctx_test
expected_result: hello lua
context_id: ctx_test
expected_result: hello context
- lua_func:
name: get context value (no context_id, from main gd)
name: get serializable value (no context_id, from main gd)
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: get_context_value
expected_result: hello lua
expected_result: hello context
- lua_func:
name: get context value (different context_id)
name: get serializable value (different context_id)
key: $(test)_PASS
file: $(test_path)$(psep)lua_func.lua
func_name: get_context_value
context_id: lua_ctx_other
expected_result: hello lua
context_id: ctx_other
expected_result: hello context

View File

@@ -1 +1,6 @@
skipped_test_item: ['skipped_checkglobal']
data_to_be_returned:
- 1
- {a: 1, b: 2}
- ["a", 1, 2.1, True]

View File

@@ -16,8 +16,8 @@ def checkglobal(param):
assert param=='test parameter'
return 0
def checkglobal2():
return tm.gd("py_func test parameter")
def checkglobal2(index):
return tm.gd("data_to_be_returned")[index]
def should_not_be_called(param):
raise

View File

@@ -1,7 +1,7 @@
- let:
name: py_func test constants,
values:
py_func test parameter: test parameter
- func_test_parameter: test parameter
- py_func:
name: pass py_func
@@ -70,7 +70,7 @@
file: $(test_path)$(psep)py_func.py
func_name: checkglobal
param:
- $(py_func test parameter)
- $(func_test_parameter)
- let:
name: python2func
@@ -79,11 +79,32 @@
- py: $(test_path)$(psep)py_func.py
- py_func:
name: global param py_func 2
name: global param int
key: $(test)_PASS
file: $(py)
file: $(test_path)$(psep)py_func.py
func_name: checkglobal2
expected_result: $(py_func test parameter)
param:
- 0
expected_result: ($(data_to_be_returned))[0]
- py_func:
name: global param dict
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: checkglobal2
param:
- 1
expected_result: ($(data_to_be_returned))[1]
- py_func:
name: global param list
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: checkglobal2
param:
- 2
expected_result: ($(data_to_be_returned))[2]
- py_func:
@@ -92,104 +113,162 @@
file: $(py)
func_name: checkglobal
param:
- $(py_func test parameter)
- $(func_test_parameter)
- py_func:
name: skipped_checkglobal
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: should_not_be_called
param:
- $(py_func test parameter)
- $(func_test_parameter)
- py_func:
name: skipped true
key: $(test)_FAIL
file: $(test_path)$(psep)py_func.py
func_name: checkglobal
func_name: echo
skipped: true
param:
- $(py_func test parameter)
- "skipped"
- py_func:
name: skipped 1
key: $(test)_FAIL
file: $(test_path)$(psep)py_func.py
func_name: checkglobal
func_name: echo
skipped: 1
param:
- $(py_func test parameter)
- "skipped"
- py_func:
name: FunctionItem test
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: ValidationTest
param:
- $(py_func test parameter)
- $(func_test_parameter)
- group:
name: Function results check
steps:
- group:
name: Function result 1
name: Functions result
steps:
- py_func:
name: int failure
name: int
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [-1]
expected_result: -1
- py_func:
name: float failure
name: float
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [-1.3]
expected_result: -1.3
param: [-20.3]
- py_func:
name: String failure
name: String
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [ "FAIL" ]
expected_result: FAIL
- py_func:
name: Tuple int,str failure
name: Tuple int,str
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: tuple_return
param: [ -1, "Got a failure" ]
expected_result: [-1, "Got a failure"]
param: [ 0, "OK" ]
- group:
name: Functions result 2
name: Functions result expected
steps:
- py_func:
name: int success
name: int expected
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [0]
expected_result: 0
param: [18]
expected_result: 18
- py_func:
name: float success
name: float expected
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [0.3]
expected_result: 0.3
- py_func:
name: String success
name: String expected
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [ "Something that is not only strictly FAIL" ]
expected_result: Something that is not only strictly FAIL
param: [ "Something" ]
expected_result: Something
- py_func:
name: Tuple int,str success
name: Tuple int,str expected
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: tuple_return
param: [ 0, "OK" ]
expected_result: [0, "OK"]
- py_func:
name: small list expected
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [ [-23] ]
expected_result: [-23]
- py_func:
name: big list expected
key: $(test)_PASS
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [ [-23, 17, 67] ]
expected_result: [-23, 17, 67]
- group:
name: Function result not expected
steps:
- py_func:
name: int not expected
key: $(test)_FAIL
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [18]
expected_result: 17
- py_func:
name: float not expected
key: $(test)_FAIL
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [0.3]
expected_result: 0.5
- py_func:
name: String not expected
key: $(test)_FAIL
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [ "Something" ]
expected_result: Nothing
- py_func:
name: Tuple int,str not expected
key: $(test)_FAIL
file: $(test_path)$(psep)py_func.py
func_name: tuple_return
param: [ 0, "OK" ]
expected_result: [0, "OUPS"]
- py_func:
name: small list not expected
key: $(test)_FAIL
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [ [-23] ]
expected_result: [-22]
- py_func:
name: big list not expected
key: $(test)_FAIL
file: $(test_path)$(psep)py_func.py
func_name: echo
param: [ [-23, 17, 67] ]
expected_result: [-23, 16, 67]
- py_func:
name: delgd test
key: $(test)_PASS

View File

@@ -31,7 +31,11 @@ main:
{% for item in items %}
# item test
- let: {name: {{ item }} test constants, values: {test: {{ item }}, test_path: items/$(test)}}
- let:
name: {{ item }} test constants
values:
- test: {{ item }}
- test_path: items/$(test)
- group:
name: {{ item }} test
steps: