@@ -534,9 +534,9 @@ An example execution:
534
534
535
535
[State 1]
536
536
{
537
- balances: Map("alice" -> 0, "bob" -> 0, "charlie" -> -75 ),
537
+ balances: Map("alice" -> 0, "bob" -> 0, "charlie" -> -53 ),
538
538
mbt::actionTaken: "withdraw",
539
- mbt::nondetPicks: { account: Some("charlie"), amount: Some(75 ) }
539
+ mbt::nondetPicks: { account: Some("charlie"), amount: Some(53 ) }
540
540
}
541
541
542
542
[violation] Found an issue (duration).
@@ -631,7 +631,7 @@ The command `run` finds an overflow in Coin.
631
631
632
632
<!-- !test in run finds overflow -->
633
633
```
634
- output=$(quint run --max-steps=5 --seed=0x1e352e160ffb15 --invariant=totalSupplyDoesNotOverflowInv \
634
+ output=$(quint run --max-steps=5 --seed=0x1e352e16100007 --invariant=totalSupplyDoesNotOverflowInv \
635
635
../examples/tutorials/coin.qnt 2>&1)
636
636
exit_code=$?
637
637
echo "$output" | sed -e 's/([0-9]*ms.*)/(duration)/g' -e 's#^.*coin.qnt# HOME/coin.qnt#g'
@@ -647,41 +647,41 @@ An example execution:
647
647
{
648
648
balances:
649
649
Map("alice" -> 0, "bob" -> 0, "charlie" -> 0, "eve" -> 0, "null" -> 0),
650
- minter: "alice "
650
+ minter: "bob "
651
651
}
652
652
653
653
[State 1]
654
654
{
655
655
balances:
656
656
Map(
657
- "alice" ->
658
- 94541396474536885635239092281406920580729946306097367569491485195445962194366,
657
+ "alice" -> 0,
659
658
"bob" -> 0,
660
659
"charlie" -> 0,
661
- "eve" -> 0,
660
+ "eve" ->
661
+ 111865848465544047420411899136876802528313267264666266547206011867817131473571,
662
662
"null" -> 0
663
663
),
664
- minter: "alice "
664
+ minter: "bob "
665
665
}
666
666
667
667
[State 2]
668
668
{
669
669
balances:
670
670
Map(
671
- "alice" ->
672
- 94541396474536885635239092281406920580729946306097367569491485195445962194366,
671
+ "alice" -> 0,
673
672
"bob" ->
674
- 53481678647226234506653603827987361074517460680431655489916483293654777859474 ,
673
+ 106835923319054853476296948761788592011112700034147492144754744060268203518249 ,
675
674
"charlie" -> 0,
676
- "eve" -> 0,
675
+ "eve" ->
676
+ 111865848465544047420411899136876802528313267264666266547206011867817131473571,
677
677
"null" -> 0
678
678
),
679
- minter: "alice "
679
+ minter: "bob "
680
680
}
681
681
682
682
[violation] Found an issue (duration).
683
683
Use --verbosity=3 to show executions.
684
- Use --seed=0x1e352e160ffb15 to reproduce.
684
+ Use --seed=0x1e352e16100007 to reproduce.
685
685
error: Invariant violated
686
686
```
687
687
@@ -691,7 +691,7 @@ The command `run` finds an overflow in Coin and shows the operator calls.
691
691
692
692
<!-- !test in run shows calls -->
693
693
```
694
- output=$(quint run --max-steps=5 --seed=0x1786e678d460ed \
694
+ output=$(quint run --max-steps=5 --seed=0x136507ae9037f5 \
695
695
--invariant=totalSupplyDoesNotOverflowInv \
696
696
--verbosity=3 \
697
697
../examples/tutorials/coin.qnt 2>&1)
@@ -714,67 +714,61 @@ q::initAndInvariant => true
714
714
{
715
715
balances:
716
716
Map("alice" -> 0, "bob" -> 0, "charlie" -> 0, "eve" -> 0, "null" -> 0),
717
- minter: "alice "
717
+ minter: "eve "
718
718
}
719
719
720
720
[Frame 1]
721
721
q::stepAndInvariant => true
722
722
├─ step => true
723
723
│ └─ send(
724
+ │ "eve",
724
725
│ "alice",
725
- │ "null",
726
- │ 78071281284846825193495013785477188646129629244112530489195111677146856342020
726
+ │ 10060541798179252735561881697278111912297141188982098138305297944456003639647
727
727
│ ) => false
728
728
│ └─ require(false) => false
729
729
└─ isUInt(
730
- 78071281284846825193495013785477188646129629244112530489195111677146856342020
730
+ 10060541798179252735561881697278111912297141188982098138305297944456003639647
731
731
) => true
732
732
733
733
[State 1]
734
734
{
735
735
balances:
736
736
Map(
737
- "alice" -> 0,
737
+ "alice" ->
738
+ 10060541798179252735561881697278111912297141188982098138305297944456003639647,
738
739
"bob" -> 0,
739
740
"charlie" -> 0,
740
741
"eve" -> 0,
741
- "null" ->
742
- 78071281284846825193495013785477188646129629244112530489195111677146856342020
742
+ "null" -> 0
743
743
),
744
- minter: "alice "
744
+ minter: "eve "
745
745
}
746
746
747
747
[Frame 2]
748
748
q::stepAndInvariant => false
749
749
├─ step => true
750
- │ └─ send(
751
- │ "alice",
752
- │ "charlie",
753
- │ 71516992819340132902114648681722204450273946921092387316973942850220744245470
754
- │ ) => false
755
- │ └─ require(false) => false
756
750
└─ isUInt(
757
- 149588274104186958095609662467199393096403576165204917806169054527367600587490
751
+ 119924674537974698230049391428816171173783073186451018303718372310243659214259
758
752
) => false
759
753
760
754
[State 2]
761
755
{
762
756
balances:
763
757
Map(
764
- "alice" -> 0,
758
+ "alice" ->
759
+ 10060541798179252735561881697278111912297141188982098138305297944456003639647,
765
760
"bob" -> 0,
766
761
"charlie" ->
767
- 71516992819340132902114648681722204450273946921092387316973942850220744245470 ,
762
+ 109864132739795445494487509731538059261485931997468920165413074365787655574612 ,
768
763
"eve" -> 0,
769
- "null" ->
770
- 78071281284846825193495013785477188646129629244112530489195111677146856342020
764
+ "null" -> 0
771
765
),
772
- minter: "alice "
766
+ minter: "eve "
773
767
}
774
768
775
769
[violation] Found an issue (duration).
776
770
Use --verbosity=3 to show executions.
777
- Use --seed=0x1786e678d460ed to reproduce.
771
+ Use --seed=0x136507ae9037f5 to reproduce.
778
772
error: Invariant violated
779
773
```
780
774
@@ -833,13 +827,13 @@ rm out-itf-mbt-example.itf.json
833
827
[
834
828
"charlie",
835
829
{
836
- "#bigint": "79626045751699704635016553258820412024546765398372583361896346889345270192783 "
830
+ "#bigint": "0 "
837
831
}
838
832
],
839
833
[
840
834
"eve",
841
835
{
842
- "#bigint": "0 "
836
+ "#bigint": "20086964742617499085873481662929437057498704222762050481882156750446625292787 "
843
837
}
844
838
],
845
839
[
@@ -855,19 +849,19 @@ rm out-itf-mbt-example.itf.json
855
849
"amount": {
856
850
"tag": "Some",
857
851
"value": {
858
- "#bigint": "79626045751699704635016553258820412024546765398372583361896346889345270192783 "
852
+ "#bigint": "20086964742617499085873481662929437057498704222762050481882156750446625292787 "
859
853
}
860
854
},
861
855
"receiver": {
862
856
"tag": "Some",
863
- "value": "charlie "
857
+ "value": "eve "
864
858
},
865
859
"sender": {
866
860
"tag": "Some",
867
- "value": "eve "
861
+ "value": "null "
868
862
}
869
863
},
870
- "minter": "eve "
864
+ "minter": "null "
871
865
}
872
866
```
873
867
@@ -1062,7 +1056,7 @@ cd - > /dev/null
1062
1056
<!-- !test exit 1 -->
1063
1057
<!-- !test in verbose test -->
1064
1058
```
1065
- output=$(quint test --seed=0x1286bf2e1dacb3 --match=mintTwiceThenSendError \
1059
+ output=$(quint test --seed=0x1286bf2e1dad07 --match=mintTwiceThenSendError \
1066
1060
--verbosity=3 ../examples/tutorials/coin.qnt)
1067
1061
exit_code=$?
1068
1062
echo "$output" | sed -e 's/([0-9]*ms)/(duration)/g' -e 's#^.*coin.qnt# HOME/coin.qnt#g'
@@ -1086,45 +1080,45 @@ init => true
1086
1080
1087
1081
[Frame 1]
1088
1082
mint(
1089
- "bob ",
1083
+ "alice ",
1090
1084
"eve",
1091
- 74252675173190743514494160784973331842148624838292266741626378055869698233769
1085
+ 59566460029516684323034576273723724420849386347074116311626296723707538074470
1092
1086
) => true
1093
1087
├─ require(true) => true
1094
1088
└─ require(true) => true
1095
1089
└─ isUInt(
1096
- 74252675173190743514494160784973331842148624838292266741626378055869698233769
1090
+ 59566460029516684323034576273723724420849386347074116311626296723707538074470
1097
1091
) => true
1098
1092
1099
1093
[Frame 2]
1100
1094
mint(
1095
+ "alice",
1101
1096
"bob",
1102
- "bob",
1103
- 97700478479458321253548605902971263977055085704583752584562220159652816914987
1097
+ 93368484419625019040077192713095698377461332472838851169076929942152020904440
1104
1098
) => true
1105
1099
├─ require(true) => true
1106
1100
└─ require(true) => true
1107
1101
└─ isUInt(
1108
- 97700478479458321253548605902971263977055085704583752584562220159652816914987
1102
+ 93368484419625019040077192713095698377461332472838851169076929942152020904440
1109
1103
) => true
1110
1104
1111
1105
[Frame 3]
1112
1106
send(
1113
1107
"eve",
1114
1108
"bob",
1115
- 47769583726968424739901588588333904197787985995488944788698867328177315688645
1109
+ 58557567944388148967996441447677399573201687288362292728576564719669790227709
1116
1110
) => false
1117
1111
├─ require(true) => true
1118
1112
├─ require(true) => true
1119
1113
│ └─ isUInt(
1120
- │ 26483091446222318774592572196639427644360638842803321952927510727692382545124
1114
+ │ 1008892085128535355038134826046324847647699058711823583049732004037747846761
1121
1115
│ ) => true
1122
1116
└─ require(false) => false
1123
1117
└─ isUInt(
1124
- 145470062206426745993450194491305168174843071700072697373261087487830132603632
1118
+ 151926052364013168008073634160773097950663019761201143897653494661821811132149
1125
1119
) => false
1126
1120
1127
- Use --seed=0x1286bf2e1dacb3 --match=mintTwiceThenSendError to repeat.
1121
+ Use --seed=0x1286bf2e1dad07 --match=mintTwiceThenSendError to repeat.
1128
1122
```
1129
1123
1130
1124
### test fails on invalid seed
0 commit comments