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,14 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales items by region and size class'
define view entity {{P}}I_SALES_CLASS
as select from {{p}}sale
{
key region as region,
count( * ) as item_count,
sum( case when amount < 101 then 1 else 0 end ) as small_count,
sum( case when amount >= 100 and amount < 1000 then 1 else 0 end ) as medium_count,
sum( case when amount >= 1000 then 1 else 0 end ) as large_count,
sum( amount ) as total_amount
}
where status <> 'X'
group by region

View File

@@ -0,0 +1,14 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales items by region and size class'
define view entity {{P}}I_SALES_CLASS
as select from {{p}}sale
{
key region as region,
count( * ) as item_count,
sum( case when amount < 100 then 1 else 0 end ) as small_count,
sum( case when amount < 100 and amount < 1000 then 1 else 0 end ) as medium_count,
sum( case when amount >= 1000 then 1 else 0 end ) as large_count,
sum( amount ) as total_amount
}
where status <> 'X'
group by region

View File

@@ -0,0 +1,14 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales items by region and size class'
define view entity {{P}}I_SALES_CLASS
as select from {{p}}sale
{
key region as region,
count( * ) as item_count,
sum( case when amount < 100 then 1 else 0 end ) as small_count,
sum( case when amount >= 100 and amount < 1001 then 1 else 0 end ) as medium_count,
sum( case when amount >= 1000 then 1 else 0 end ) as large_count,
sum( amount ) as total_amount
}
where status <> 'X'
group by region

View File

@@ -0,0 +1,14 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales items by region and size class'
define view entity {{P}}I_SALES_CLASS
as select from {{p}}sale
{
key region as region,
count( * ) as item_count,
sum( case when amount < 100 then 1 else 0 end ) as small_count,
sum( case when amount >= 100 and amount < 1000 then 1 else 0 end ) as medium_count,
sum( case when amount >= 1000 then 1 else 0 end ) as large_count,
sum( amount ) as total_amount
}
where status = 'X'
group by region

View File

@@ -0,0 +1,61 @@
{
"task": "G0019",
"mutants": [
{
"object": "{{P}}I_SALES_CLASS",
"mutant": "line 8: 100 -> 101 (const)",
"status": "killed",
"hidden": "6/8",
"failed_tests": [
"CLASS_BOUNDARIES",
"SMALL_COUNT"
]
},
{
"object": "{{P}}I_SALES_CLASS",
"mutant": "line 9: >= -> < (rel)",
"status": "killed",
"hidden": "7/8",
"failed_tests": [
"MEDIUM_COUNT"
]
},
{
"object": "{{P}}I_SALES_CLASS",
"mutant": "line 9: 1000 -> 1001 (const)",
"status": "killed",
"hidden": "6/8",
"failed_tests": [
"CLASS_BOUNDARIES",
"MEDIUM_COUNT"
]
},
{
"object": "{{P}}I_SALES_CLASS",
"mutant": "line 10: sum( -> max( (agg)",
"status": "survived",
"hidden": "8/8",
"failed_tests": []
},
{
"object": "{{P}}I_SALES_CLASS",
"mutant": "line 13: <> -> = (rel)",
"status": "killed",
"hidden": "0/8",
"failed_tests": [
"CANCELLED_ITEMS_IGNORED",
"CLASS_BOUNDARIES",
"ITEM_COUNT",
"LARGE_COUNT",
"MEDIUM_COUNT",
"REGIONS_IN_RESULT",
"SMALL_COUNT",
"TOTAL_AMOUNT"
]
}
],
"valid": 5,
"killed": 4,
"kill_rate": 0.8,
"ok": true
}