Add durable configurable hypothesis budget accounting
This commit is contained in:
1 parent
e8b87d6725
commit
af18f36c24
14 files changed
+1889
-1
No files matched your search
@@ -78,4 +78,19 @@ def test_full_bug20_package_pair(tmp_path):
|
||||
assert before.read_bytes(name) == after.read_bytes(name)
|
||||
assert asyncio.run(HypothesisBuilder(store, gateway(hypotheses_adapter)).build("regression-case", "regression-package")).reused
|
||||
assert len(hypotheses_adapter.requests) == 1
|
||||
from viano_bug_analysis.budget import BudgetManager
|
||||
budget = BudgetManager(store)
|
||||
identity = ("regression-case", "regression-package")
|
||||
budget.initialize(*identity)
|
||||
budget.reserve(*identity, "H1", "offline-query", "source.read_context")
|
||||
source_ref = case["source_context"]["refs"][0]["path"]
|
||||
budget.record_result(*identity, "H1", "offline-query", {"fixture_observation":"Stored context is available"}, source_refs=[source_ref])
|
||||
accounted = budget.settle(*identity, "H1", "offline-query", semantic_score=50, reason="Simulated assessment, no diagnosis")
|
||||
assert accounted.state["accounts"]["H1"]["remaining"] == 94
|
||||
assert PackageValidator().validate(accounted.package).valid
|
||||
with PackageReader(generated.package) as before, PackageReader(accounted.package) as after:
|
||||
for name in before.files:
|
||||
if name != "manifest.json":
|
||||
assert before.read_bytes(name) == after.read_bytes(name)
|
||||
assert CaseBuilder(store).build(*identity).reused
|
||||
assert [hashlib.sha256(path.read_bytes()).hexdigest() for path in (diag, src)] == original_hashes
|
||||
Reference in new issue
Block a user