Skip to content

Commit 2afdc6e

Browse files
authored
bugfix kernel test runner (#938)
1 parent c5eea13 commit 2afdc6e

File tree

2 files changed

+42
-2
lines changed

2 files changed

+42
-2
lines changed

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
"@abaplint/cli": "^2.113.108",
1919
"@abaplint/database-pg": "^2.10.24",
2020
"@abaplint/database-sqlite": "^2.10.24",
21-
"@abaplint/runtime": "^2.10.33",
22-
"@abaplint/transpiler-cli": "^2.10.33",
21+
"@abaplint/runtime": "^2.10.34",
22+
"@abaplint/transpiler-cli": "^2.10.34",
2323
"0x": "^5.8.0"
2424
}
2525
}

src/unit/kernel_unit_runner.clas.testclasses.abap

+40
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
CLASS ltcl_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
22
PRIVATE SECTION.
3+
METHODS setup.
4+
DATA mv_setup TYPE i.
5+
36
METHODS single_method FOR TESTING RAISING cx_static_check.
47

58
METHODS failing_not_for_testing RAISING cx_static_check.
@@ -13,9 +16,23 @@ CLASS ltcl_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
1316

1417
METHODS failing_not_for_testing_obj RAISING cx_static_check.
1518
METHODS single_method_fail_obj FOR TESTING RAISING cx_static_check.
19+
20+
METHODS check_setup RAISING cx_static_check.
21+
METHODS single_method_check_setup FOR TESTING RAISING cx_static_check.
1622
ENDCLASS.
1723

1824
CLASS ltcl_test IMPLEMENTATION.
25+
METHOD check_setup.
26+
* this method is used internally for testing, dont set it FOR TESTING
27+
cl_abap_unit_assert=>assert_equals(
28+
act = mv_setup
29+
exp = 123 ).
30+
ENDMETHOD.
31+
32+
METHOD setup.
33+
mv_setup = 123.
34+
ENDMETHOD.
35+
1936
METHOD failing_not_for_testing.
2037
* this method is used internally for testing, dont set it FOR TESTING
2138
cl_abap_unit_assert=>assert_equals(
@@ -93,6 +110,29 @@ CLASS ltcl_test IMPLEMENTATION.
93110
exp = 1 ).
94111
ENDMETHOD.
95112

113+
METHOD single_method_check_setup.
114+
DATA lt_input TYPE kernel_unit_runner=>ty_input.
115+
DATA ls_input LIKE LINE OF lt_input.
116+
DATA ls_result TYPE kernel_unit_runner=>ty_result.
117+
DATA ls_list LIKE LINE OF ls_result-list.
118+
119+
ls_input-class_name = 'KERNEL_UNIT_RUNNER'.
120+
ls_input-testclass_name = 'LTCL_TEST'.
121+
ls_input-method_name = 'CHECK_SETUP'.
122+
APPEND ls_input TO lt_input.
123+
124+
ls_result = kernel_unit_runner=>run( lt_input ).
125+
126+
cl_abap_unit_assert=>assert_equals(
127+
act = lines( ls_result-list )
128+
exp = 1 ).
129+
READ TABLE ls_result-list INDEX 1 INTO ls_list.
130+
cl_abap_unit_assert=>assert_subrc( ).
131+
cl_abap_unit_assert=>assert_equals(
132+
act = ls_list-status
133+
exp = kernel_unit_runner=>gc_status-success ).
134+
ENDMETHOD.
135+
96136
METHOD single_method_fail_obj.
97137
DATA lt_input TYPE kernel_unit_runner=>ty_input.
98138
DATA ls_input LIKE LINE OF lt_input.

0 commit comments

Comments
 (0)