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

View File

@@ -0,0 +1,15 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales per product in a period'
define view entity {{P}}I_SALES_REPORT
with parameters
p_from : abap.dats,
p_to : abap.dats
as select from {{p}}sales as sale
{
key sale.product as product,
max( sale.quantity ) as total_qty,
sum( cast( sale.quantity as abap.dec( 15, 2 ) ) * sale.price ) as total_amount
}
where sale.sold_on >= $parameters.p_from
and sale.sold_on <= $parameters.p_to
group by sale.product

View File

@@ -0,0 +1,15 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales per product in a period'
define view entity {{P}}I_SALES_REPORT
with parameters
p_from : abap.dats,
p_to : abap.dats
as select from {{p}}sales as sale
{
key sale.product as product,
sum( sale.quantity ) as total_qty,
max( cast( sale.quantity as abap.dec( 15, 2 ) ) * sale.price ) as total_amount
}
where sale.sold_on >= $parameters.p_from
and sale.sold_on <= $parameters.p_to
group by sale.product

View File

@@ -0,0 +1,15 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales per product in a period'
define view entity {{P}}I_SALES_REPORT
with parameters
p_from : abap.dats,
p_to : abap.dats
as select from {{p}}sales as sale
{
key sale.product as product,
sum( sale.quantity ) as total_qty,
sum( cast( sale.quantity as abap.dec( 15, 2 ) ) * sale.price ) as total_amount
}
where sale.sold_on < $parameters.p_from
and sale.sold_on <= $parameters.p_to
group by sale.product

View File

@@ -0,0 +1,15 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales per product in a period'
define view entity {{P}}I_SALES_REPORT
with parameters
p_from : abap.dats,
p_to : abap.dats
as select from {{p}}sales as sale
{
key sale.product as product,
sum( sale.quantity ) as total_qty,
sum( cast( sale.quantity as abap.dec( 15, 2 ) ) * sale.price ) as total_amount
}
where sale.sold_on >= $parameters.p_from
or sale.sold_on <= $parameters.p_to
group by sale.product

View File

@@ -0,0 +1,15 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales per product in a period'
define view entity {{P}}I_SALES_REPORT
with parameters
p_from : abap.dats,
p_to : abap.dats
as select from {{p}}sales as sale
{
key sale.product as product,
sum( sale.quantity ) as total_qty,
sum( cast( sale.quantity as abap.dec( 15, 2 ) ) * sale.price ) as total_amount
}
where sale.sold_on >= $parameters.p_from
and sale.sold_on > $parameters.p_to
group by sale.product

View File

@@ -0,0 +1,68 @@
{
"task": "G0024",
"mutants": [
{
"object": "{{P}}I_SALES_REPORT",
"mutant": "line 10: sum( -> max( (agg)",
"status": "killed",
"hidden": "6/7",
"failed_tests": [
"SUMS_QUANTITY"
]
},
{
"object": "{{P}}I_SALES_REPORT",
"mutant": "line 11: sum( -> max( (agg)",
"status": "killed",
"hidden": "6/7",
"failed_tests": [
"SUMS_AMOUNT"
]
},
{
"object": "{{P}}I_SALES_REPORT",
"mutant": "line 13: >= -> < (rel)",
"status": "killed",
"hidden": "2/7",
"failed_tests": [
"BOUNDS_INCLUSIVE",
"EXCLUDES_BEFORE_FROM",
"ROW_PER_PRODUCT",
"SUMS_AMOUNT",
"SUMS_QUANTITY"
]
},
{
"object": "{{P}}I_SALES_REPORT",
"mutant": "line 14: and -> or (logic)",
"status": "killed",
"hidden": "2/7",
"failed_tests": [
"BOUNDS_INCLUSIVE",
"EMPTY_PERIOD",
"EXCLUDES_AFTER_TO",
"EXCLUDES_BEFORE_FROM",
"ROW_PER_PRODUCT"
]
},
{
"object": "{{P}}I_SALES_REPORT",
"mutant": "line 14: <= -> > (rel)",
"status": "killed",
"hidden": "0/7",
"failed_tests": [
"BOUNDS_INCLUSIVE",
"EMPTY_PERIOD",
"EXCLUDES_AFTER_TO",
"EXCLUDES_BEFORE_FROM",
"ROW_PER_PRODUCT",
"SUMS_AMOUNT",
"SUMS_QUANTITY"
]
}
],
"valid": 5,
"killed": 5,
"kill_rate": 1.0,
"ok": true
}