feat: SQL between/hostvar-key alignment, class-condition parsing, gcov merge across scenario runs
This commit is contained in:
@@ -32,6 +32,7 @@ class SysinDef:
|
||||
period: str | None = "202607"
|
||||
include_invalid_period: bool = False
|
||||
modes: list[str] = field(default_factory=lambda: ["NORMAL"])
|
||||
final_mode: str = "RESET"
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -42,6 +43,9 @@ class ScenarioDef:
|
||||
inject_duplicate_pk: bool = False
|
||||
row_overrides: dict[str, dict[str, str]] = field(default_factory=dict)
|
||||
delete_all_rows: bool = False
|
||||
drop_tables: list[str] = field(default_factory=list)
|
||||
command_line: str | None = None
|
||||
seed_extra_rows: dict[str, int] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -53,6 +57,7 @@ class ProgramSchema:
|
||||
db_name: str = "OVERTIME.DB"
|
||||
runs: list[ScenarioDef] = field(default_factory=list)
|
||||
coverage_dates: dict[str, list[dict[str, str]]] = field(default_factory=dict)
|
||||
command_line: str | None = None
|
||||
|
||||
@classmethod
|
||||
def from_yaml(cls, path: str | Path) -> ProgramSchema:
|
||||
@@ -76,6 +81,9 @@ class ProgramSchema:
|
||||
inject_duplicate_pk=r.get("inject_duplicate_pk", False),
|
||||
row_overrides=r.get("row_overrides", {}),
|
||||
delete_all_rows=r.get("delete_all_rows", False),
|
||||
drop_tables=r.get("drop_tables", []),
|
||||
command_line=r.get("command_line"),
|
||||
seed_extra_rows=r.get("seed_extra_rows", {}),
|
||||
))
|
||||
return cls(
|
||||
program_id=raw["program_id"],
|
||||
@@ -85,6 +93,7 @@ class ProgramSchema:
|
||||
db_name=raw.get("db_name", "OVERTIME.DB"),
|
||||
runs=runs,
|
||||
coverage_dates=raw.get("coverage_dates", {}),
|
||||
command_line=raw.get("command_line"),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user