Mutation check done on all accepted tasks; mutant fixes; dump filter in proxy

- skip sy-subrc lines and CDS type lengths; CDS literal mutants; mutate helper classes
- proxy: sap_short_dumps shows only dumps of the current run
- 26/26 tasks pass; results in docs/faz1-tasarim.md 11g

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
Kral
2026-10-03 06:02:59 +02:00
parent 0ba25faeea
commit f907351c0d
108 changed files with 7384 additions and 8 deletions

77
tasks/T01/mutation.json Normal file
View File

@@ -0,0 +1,77 @@
{
"task": "T01",
"mutants": [
{
"object": "{{P}}IBAN_VALIDATOR",
"mutant": "line 34: = -> <> (eq)",
"status": "killed",
"hidden": "2/12",
"failed_tests": [
"BAD_CHARS",
"DIGIT_IN_COUNTRY",
"LOWER_CASE_OK",
"ORDER_CHARS_BEFORE_COUNTRY",
"UNKNOWN_COUNTRY",
"VALID_ALL_COUNTRIES",
"VALID_DE",
"VALID_LETTERS_IN_BODY",
"WRONG_CHECKSUM",
"WRONG_LENGTH"
]
},
{
"object": "{{P}}IBAN_VALIDATOR",
"mutant": "line 44: <> -> = (rel)",
"status": "killed",
"hidden": "6/12",
"failed_tests": [
"LOWER_CASE_OK",
"VALID_ALL_COUNTRIES",
"VALID_DE",
"VALID_LETTERS_IN_BODY",
"WRONG_CHECKSUM",
"WRONG_LENGTH"
]
},
{
"object": "{{P}}IBAN_VALIDATOR",
"mutant": "line 78: * -> / (arith)",
"status": "killed",
"hidden": "8/12",
"failed_tests": [
"LOWER_CASE_OK",
"VALID_ALL_COUNTRIES",
"VALID_DE",
"VALID_LETTERS_IN_BODY"
]
},
{
"object": "{{P}}IBAN_VALIDATOR",
"mutant": "line 78: 10 -> 11 (const)",
"status": "killed",
"hidden": "8/12",
"failed_tests": [
"LOWER_CASE_OK",
"VALID_ALL_COUNTRIES",
"VALID_DE",
"VALID_LETTERS_IN_BODY"
]
},
{
"object": "{{P}}IBAN_VALIDATOR",
"mutant": "line 80: 100 -> 101 (const)",
"status": "killed",
"hidden": "8/12",
"failed_tests": [
"LOWER_CASE_OK",
"VALID_ALL_COUNTRIES",
"VALID_DE",
"VALID_LETTERS_IN_BODY"
]
}
],
"valid": 5,
"killed": 5,
"kill_rate": 1.0,
"ok": true
}

59
tasks/T13/mutation.json Normal file
View File

@@ -0,0 +1,59 @@
{
"task": "T13",
"mutants": [
{
"object": "{{P}}EVT_FEE",
"mutant": "line 18: * -> / (arith)",
"status": "killed",
"hidden": "6/8",
"failed_tests": [
"INVOICE_PERCENT",
"INVOICE_ROUNDING"
]
},
{
"object": "{{P}}EVT_FEE",
"mutant": "line 18: 2 -> 3 (const)",
"status": "killed",
"hidden": "6/8",
"failed_tests": [
"INVOICE_PERCENT",
"INVOICE_ROUNDING"
]
},
{
"object": "{{P}}EVT_FEE",
"mutant": "line 18: 100 -> 101 (const)",
"status": "killed",
"hidden": "6/8",
"failed_tests": [
"INVOICE_PERCENT",
"INVOICE_ROUNDING"
]
},
{
"object": "{{P}}EVT_FEE",
"mutant": "line 21: > -> <= (rel)",
"status": "killed",
"hidden": "5/8",
"failed_tests": [
"INVOICE_MAXIMUM",
"INVOICE_PERCENT",
"INVOICE_ROUNDING"
]
},
{
"object": "{{P}}EVT_FEE",
"mutant": "line 25: abap_true -> abap_false (bool)",
"status": "killed",
"hidden": "7/8",
"failed_tests": [
"CREDIT_MEMO_SKIPS"
]
}
],
"valid": 5,
"killed": 5,
"kill_rate": 1.0,
"ok": true
}

33
tasks/T14/mutation.json Normal file
View File

@@ -0,0 +1,33 @@
{
"task": "T14",
"mutants": [
{
"object": "{{P}}SALES_SUM",
"mutant": "line 30: >= -> < (rel)",
"status": "killed",
"hidden": "0/5",
"failed_tests": [
"ALL_REGIONS",
"DATE_FILTER",
"REGION_FILTER",
"SORTED_BY_TOTAL",
"TOTALS_AND_COUNTS"
]
},
{
"object": "{{P}}SALES_SUM",
"mutant": "line 31: AND -> OR (logic)",
"status": "killed",
"hidden": "2/5",
"failed_tests": [
"DATE_FILTER",
"REGION_FILTER",
"TOTALS_AND_COUNTS"
]
}
],
"valid": 2,
"killed": 2,
"kill_rate": 1.0,
"ok": true
}

39
tasks/T15/mutation.json Normal file
View File

@@ -0,0 +1,39 @@
{
"task": "T15",
"mutants": [
{
"object": "{{P}}I_ORDER_TOTAL",
"mutant": "line 5: inner join -> left outer join (join)",
"status": "killed",
"hidden": "4/5",
"failed_tests": [
"ORDER_WITHOUT_ITEMS"
]
},
{
"object": "{{P}}I_ORDER_TOTAL",
"mutant": "line 5: = -> <> (eq)",
"status": "killed",
"hidden": "1/5",
"failed_tests": [
"DECIMALS",
"ITEM_COUNTS",
"ORDER_WITHOUT_ITEMS",
"TOTALS"
]
},
{
"object": "{{P}}I_ORDER_TOTAL",
"mutant": "line 10: sum( -> max( (agg)",
"status": "killed",
"hidden": "4/5",
"failed_tests": [
"TOTALS"
]
}
],
"valid": 3,
"killed": 3,
"kill_rate": 1.0,
"ok": true
}