May 30, 3-4 PM (36)
May 30, 4-5 PM (2)
May 30, 5-6 PM (1)
May 30, 6-7 PM (3)
May 30, 7-8 PM (4)
May 30, 8-9 PM (0)
May 30, 9-10 PM (0)
May 30, 10-11 PM (0)
May 30, 11-12 AM (3)
May 31, 12-1 AM (5)
May 31, 1-2 AM (1)
May 31, 2-3 AM (10)
May 31, 3-4 AM (0)
May 31, 4-5 AM (0)
May 31, 5-6 AM (1)
May 31, 6-7 AM (1)
May 31, 7-8 AM (1)
May 31, 8-9 AM (5)
May 31, 9-10 AM (9)
May 31, 10-11 AM (3)
May 31, 11-12 PM (1)
May 31, 12-1 PM (5)
May 31, 1-2 PM (5)
May 31, 2-3 PM (0)
May 31, 3-4 PM (5)
May 31, 4-5 PM (1)
May 31, 5-6 PM (2)
May 31, 6-7 PM (1)
May 31, 7-8 PM (0)
May 31, 8-9 PM (1)
May 31, 9-10 PM (0)
May 31, 10-11 PM (1)
May 31, 11-12 AM (4)
Jun 01, 12-1 AM (5)
Jun 01, 1-2 AM (7)
Jun 01, 2-3 AM (0)
Jun 01, 3-4 AM (4)
Jun 01, 4-5 AM (4)
Jun 01, 5-6 AM (8)
Jun 01, 6-7 AM (19)
Jun 01, 7-8 AM (12)
Jun 01, 8-9 AM (29)
Jun 01, 9-10 AM (29)
Jun 01, 10-11 AM (20)
Jun 01, 11-12 PM (25)
Jun 01, 12-1 PM (14)
Jun 01, 1-2 PM (20)
Jun 01, 2-3 PM (37)
Jun 01, 3-4 PM (6)
Jun 01, 4-5 PM (7)
Jun 01, 5-6 PM (19)
Jun 01, 6-7 PM (14)
Jun 01, 7-8 PM (14)
Jun 01, 8-9 PM (17)
Jun 01, 9-10 PM (8)
Jun 01, 10-11 PM (1)
Jun 01, 11-12 AM (7)
Jun 02, 12-1 AM (9)
Jun 02, 1-2 AM (3)
Jun 02, 2-3 AM (2)
Jun 02, 3-4 AM (4)
Jun 02, 4-5 AM (6)
Jun 02, 5-6 AM (13)
Jun 02, 6-7 AM (27)
Jun 02, 7-8 AM (25)
Jun 02, 8-9 AM (29)
Jun 02, 9-10 AM (22)
Jun 02, 10-11 AM (28)
Jun 02, 11-12 PM (14)
Jun 02, 12-1 PM (19)
Jun 02, 1-2 PM (35)
Jun 02, 2-3 PM (13)
Jun 02, 3-4 PM (13)
Jun 02, 4-5 PM (25)
Jun 02, 5-6 PM (8)
Jun 02, 6-7 PM (5)
Jun 02, 7-8 PM (2)
Jun 02, 8-9 PM (8)
Jun 02, 9-10 PM (7)
Jun 02, 10-11 PM (28)
Jun 02, 11-12 AM (10)
Jun 03, 12-1 AM (8)
Jun 03, 1-2 AM (9)
Jun 03, 2-3 AM (13)
Jun 03, 3-4 AM (12)
Jun 03, 4-5 AM (4)
Jun 03, 5-6 AM (14)
Jun 03, 6-7 AM (32)
Jun 03, 7-8 AM (24)
Jun 03, 8-9 AM (12)
Jun 03, 9-10 AM (28)
Jun 03, 10-11 AM (7)
Jun 03, 11-12 PM (18)
Jun 03, 12-1 PM (20)
Jun 03, 1-2 PM (32)
Jun 03, 2-3 PM (30)
Jun 03, 3-4 PM (28)
Jun 03, 4-5 PM (10)
Jun 03, 5-6 PM (20)
Jun 03, 6-7 PM (16)
Jun 03, 7-8 PM (6)
Jun 03, 8-9 PM (6)
Jun 03, 9-10 PM (11)
Jun 03, 10-11 PM (3)
Jun 03, 11-12 AM (9)
Jun 04, 12-1 AM (14)
Jun 04, 1-2 AM (7)
Jun 04, 2-3 AM (7)
Jun 04, 3-4 AM (7)
Jun 04, 4-5 AM (4)
Jun 04, 5-6 AM (29)
Jun 04, 6-7 AM (30)
Jun 04, 7-8 AM (33)
Jun 04, 8-9 AM (36)
Jun 04, 9-10 AM (20)
Jun 04, 10-11 AM (31)
Jun 04, 11-12 PM (35)
Jun 04, 12-1 PM (35)
Jun 04, 1-2 PM (32)
Jun 04, 2-3 PM (20)
Jun 04, 3-4 PM (41)
Jun 04, 4-5 PM (16)
Jun 04, 5-6 PM (16)
Jun 04, 6-7 PM (19)
Jun 04, 7-8 PM (9)
Jun 04, 8-9 PM (24)
Jun 04, 9-10 PM (9)
Jun 04, 10-11 PM (3)
Jun 04, 11-12 AM (21)
Jun 05, 12-1 AM (18)
Jun 05, 1-2 AM (6)
Jun 05, 2-3 AM (15)
Jun 05, 3-4 AM (14)
Jun 05, 4-5 AM (11)
Jun 05, 5-6 AM (7)
Jun 05, 6-7 AM (22)
Jun 05, 7-8 AM (8)
Jun 05, 8-9 AM (47)
Jun 05, 9-10 AM (36)
Jun 05, 10-11 AM (18)
Jun 05, 11-12 PM (22)
Jun 05, 12-1 PM (24)
Jun 05, 1-2 PM (31)
Jun 05, 2-3 PM (42)
Jun 05, 3-4 PM (32)
Jun 05, 4-5 PM (4)
Jun 05, 5-6 PM (7)
Jun 05, 6-7 PM (6)
Jun 05, 7-8 PM (4)
Jun 05, 8-9 PM (6)
Jun 05, 9-10 PM (5)
Jun 05, 10-11 PM (1)
Jun 05, 11-12 AM (4)
Jun 06, 12-1 AM (11)
Jun 06, 1-2 AM (0)
Jun 06, 2-3 AM (0)
Jun 06, 3-4 AM (1)
Jun 06, 4-5 AM (1)
Jun 06, 5-6 AM (3)
Jun 06, 6-7 AM (6)
Jun 06, 7-8 AM (11)
Jun 06, 8-9 AM (6)
Jun 06, 9-10 AM (5)
Jun 06, 10-11 AM (3)
Jun 06, 11-12 PM (6)
Jun 06, 12-1 PM (18)
Jun 06, 1-2 PM (6)
Jun 06, 2-3 PM (6)
Jun 06, 3-4 PM (1)
2,135 commits this week May 30, 2020 - Jun 06, 2020

Test.ThreadNet: refine the TestConfig*, use TestSetup, expand Praos tests

TODO I’ve removed all shrinking for now. I will revisit that shortly. It was a mess, slow, and rarely helpful except when the problem was trivial, like a bug preventing nodes from producing any blocks whatsoever.

  • This diff reorganize the TestConfig and TestConfigBlock data types. Those fields have now been teased apart into three record types: TestConfig, TestConfigB, TestConfigMB. (I’m happy to take name suggestions!)

    See the Haddock there for more, but there are two basic ideas. TestConfigB contains things that need the blk type and also things whose semantics (eg validitiy) depend the block. TestConfigMB contains things that need the m type, since it’s not easily available in all contexts we’re concerned about and those fields are usually only ever interpreted for the actual execution.

  • We introduce a TestSetup type for each test. Now that TestConfig is smaller, we can re-use it more broadly.

  • While I was in there, I increased the scope of the parameter generators (eg k, eg numCoreNodes) for the mock Praos tests {LeaderSchedule,Praos}.hs.