Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conformance testing #134

Merged
merged 59 commits into from
Feb 20, 2025
Merged
Changes from 1 commit
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
fc6859a
[wip] draft conformance testing
abailly Oct 15, 2024
cc77c80
Add diagram on README fie
abailly Oct 21, 2024
2c27c82
add details about conformance testing strategy
abailly Oct 22, 2024
3222871
quickcheck-dynamic setup taken from Peras
yveshauser Dec 18, 2024
ec51066
Post-conditions
yveshauser Jan 8, 2025
8b24903
Added TODOs
yveshauser Jan 8, 2025
a83ab79
Merge remote-tracking branch 'origin/main' into conformance-testing
yveshauser Jan 8, 2025
f2ad567
Api changed
yveshauser Jan 8, 2025
4cb81f5
Added votes
yveshauser Jan 8, 2025
f778016
Merge branch 'main' into conformance-testing
yveshauser Jan 15, 2025
94f9c24
Nix setup
yveshauser Jan 20, 2025
a9590e8
Nix setup
yveshauser Jan 20, 2025
fef6da3
Merge branch 'main' into conformance-testing
yveshauser Jan 28, 2025
7553037
Merge branch 'main' into conformance-testing
yveshauser Jan 28, 2025
9a95f16
Initial Haskell export
yveshauser Jan 28, 2025
8ca8cb1
Hooking up Haskell code in tests
yveshauser Jan 28, 2025
4cce883
Renamed exported types
yveshauser Jan 28, 2025
929c171
Merge branch 'main' into conformance-testing
yveshauser Jan 28, 2025
6d6abca
Formatting
yveshauser Jan 28, 2025
f5c3162
Re-exporting generated code
yveshauser Jan 29, 2025
5cfcddf
sha256
yveshauser Jan 29, 2025
bbbdb04
Commented leios-spec for now
yveshauser Jan 29, 2025
c7c7124
Formatting
yveshauser Jan 30, 2025
0d043cd
Add missing file
WhatisRT Jan 20, 2025
6156157
Haskell export for Short Leios
yveshauser Jan 30, 2025
2e25006
Breaking CI
yveshauser Jan 30, 2025
334e53c
Prefix on constructors
yveshauser Jan 30, 2025
eb5ee8b
Using step function form formal spec
yveshauser Jan 30, 2025
5867730
Merge branch 'main' into conformance-testing
yveshauser Feb 4, 2025
0183cd7
Exporting TotalMap to Haskell
yveshauser Feb 6, 2025
7901e3a
WIP: Running exec spec in Haskell
yveshauser Feb 6, 2025
aecac9b
Corrected formatting
yveshauser Feb 6, 2025
6b70232
Initial stake distribution
yveshauser Feb 7, 2025
e7384a8
Pretty instances
yveshauser Feb 7, 2025
6b70e0c
Record syntax in generated code
yveshauser Feb 7, 2025
cee4f80
Initial generators
yveshauser Feb 7, 2025
275f6ec
Pipe simulator from Peras
yveshauser Feb 10, 2025
5203b07
Blocks from FFD
yveshauser Feb 10, 2025
c35ff3d
Formatting
yveshauser Feb 10, 2025
60a4cc4
Formatting
yveshauser Feb 10, 2025
14c5695
FFD state
yveshauser Feb 11, 2025
b847caf
Fixed slot condition
yveshauser Feb 11, 2025
794ba66
Reinitialize state
yveshauser Feb 11, 2025
355911b
Arbitrary ibRefs
yveshauser Feb 12, 2025
5d88406
FFD implementation
yveshauser Feb 13, 2025
d6599b0
Merge branch 'main' into conformance-testing
yveshauser Feb 14, 2025
283da6f
FFD-Send-total
yveshauser Feb 14, 2025
5057328
Include ibRefs
yveshauser Feb 17, 2025
e996a44
Renaming
yveshauser Feb 17, 2025
d2c43e6
Formatting
yveshauser Feb 17, 2025
9710926
Cleanup
yveshauser Feb 17, 2025
296035b
Renaming
yveshauser Feb 17, 2025
452b490
Refer to formal-spec in external repo
yveshauser Feb 17, 2025
2761871
Merge branch 'main' into conformance-testing
yveshauser Feb 17, 2025
6dfdc45
Move formal-spec to repo `ouroboros-leios-formal-spec`
yveshauser Feb 17, 2025
0b14088
Renaming
yveshauser Feb 18, 2025
ad08bdf
Fixing nix setup
yveshauser Feb 18, 2025
ef6adb3
Merge branch 'main' into conformance-testing
yveshauser Feb 19, 2025
2eeae8c
Update README.md
yveshauser Feb 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
FFD-Send-total
yveshauser committed Feb 14, 2025

Verified

This commit was signed with the committer’s verified signature.
yveshauser Yves Hauser
commit 283da6f6b6af8a442dd203f41dd658e2c486ccd3
16 changes: 8 additions & 8 deletions formal-spec/Leios/Simplified/Deterministic.agda
Original file line number Diff line number Diff line change
@@ -133,12 +133,12 @@ IB-Role-Upkeep u≢IB-Role h (No-IB-Role _) u∈su = case Equivalence.from ∈-
opaque
IB-Role-total : ∃[ s' ] s -⟦IB-Role⟧⇀ s'
IB-Role-total {s = s} = let open LeiosState s in case Dec-canProduceIB of λ where
(inj₁ (π , pf)) -, IB-Role pf (proj₂ FFD.FFD-total)
(inj₁ (π , pf)) -, IB-Role pf (proj₂ FFD.FFD-Send-total)
(inj₂ pf) -, No-IB-Role pf

IB-Role-total' : ∃[ ffds ] s -⟦IB-Role⟧⇀ addUpkeep record s { FFDState = ffds } IB-Role
IB-Role-total' {s = s} = let open LeiosState s in case Dec-canProduceIB of λ where
(inj₁ (π , pf)) -, IB-Role pf (proj₂ FFD.FFD-total)
(inj₁ (π , pf)) -, IB-Role pf (proj₂ FFD.FFD-Send-total)
(inj₂ pf) -, No-IB-Role pf

data _-⟦EB-Role⟧⇀_ : LeiosState LeiosState Type where
@@ -175,12 +175,12 @@ EB-Role-Upkeep u≢EB-Role h (No-EB-Role _) u∈su = case Equivalence.from ∈-
opaque
EB-Role-total : ∃[ s' ] s -⟦EB-Role⟧⇀ s'
EB-Role-total {s = s} = let open LeiosState s in case Dec-canProduceEB of λ where
(inj₁ (π , pf)) -, EB-Role pf (proj₂ FFD.FFD-total)
(inj₁ (π , pf)) -, EB-Role pf (proj₂ FFD.FFD-Send-total)
(inj₂ pf) -, No-EB-Role pf

EB-Role-total' : ∃[ ffds ] s -⟦EB-Role⟧⇀ addUpkeep record s { FFDState = ffds } EB-Role
EB-Role-total' {s = s} = let open LeiosState s in case Dec-canProduceEB of λ where
(inj₁ (π , pf)) -, EB-Role pf (proj₂ FFD.FFD-total)
(inj₁ (π , pf)) -, EB-Role pf (proj₂ FFD.FFD-Send-total)
(inj₂ pf) -, No-EB-Role pf

data _-⟦V1-Role⟧⇀_ : LeiosState LeiosState Type where
@@ -215,12 +215,12 @@ V1-Role-Upkeep u≢V1-Role h (No-V1-Role _) u∈su = case Equivalence.from ∈-
opaque
V1-Role-total : ∃[ s' ] s -⟦V1-Role⟧⇀ s'
V1-Role-total {s = s} = let open LeiosState s in case Dec-canProduceV1 of λ where
(yes p) -, V1-Role p (proj₂ FFD.FFD-total)
(yes p) -, V1-Role p (proj₂ FFD.FFD-Send-total)
(no ¬p) -, No-V1-Role ¬p

V1-Role-total' : ∃[ ffds ] s -⟦V1-Role⟧⇀ addUpkeep record s { FFDState = ffds } V1-Role
V1-Role-total' {s = s} = let open LeiosState s in case Dec-canProduceV1 of λ where
(yes p) -, V1-Role p (proj₂ FFD.FFD-total)
(yes p) -, V1-Role p (proj₂ FFD.FFD-Send-total)
(no ¬p) -, No-V1-Role ¬p

data _-⟦V2-Role⟧⇀_ : LeiosState LeiosState Type where
@@ -255,12 +255,12 @@ V2-Role-Upkeep u≢V2-Role h (No-V2-Role _) u∈su = case Equivalence.from ∈-
opaque
V2-Role-total : ∃[ s' ] s -⟦V2-Role⟧⇀ s'
V2-Role-total {s = s} = let open LeiosState s in case Dec-canProduceV2 of λ where
(yes p) -, V2-Role p (proj₂ FFD.FFD-total)
(yes p) -, V2-Role p (proj₂ FFD.FFD-Send-total)
(no ¬p) -, No-V2-Role ¬p

V2-Role-total' : ∃[ ffds ] s -⟦V2-Role⟧⇀ addUpkeep record s { FFDState = ffds } V2-Role
V2-Role-total' {s = s} = let open LeiosState s in case Dec-canProduceV2 of λ where
(yes p) -, V2-Role p (proj₂ FFD.FFD-total)
(yes p) -, V2-Role p (proj₂ FFD.FFD-Send-total)
(no ¬p) -, No-V2-Role ¬p

data _-⟦_/_⟧⇀_ : LeiosState LeiosInput LeiosOutput LeiosState Type where