Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MC: perform actual model-checking in tesh tests
[simgrid.git] / examples / msg / mc / bugged1.tesh
index 61c8dc8..7e5d5ed 100644 (file)
@@ -1,8 +1,71 @@
 #! ./tesh
 
-! output sort
-$ ${bindir:=.}/bugged1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [  0.008753] (2:client@HostB) Sent!
-> [  0.017506] (3:client@HostC) Sent!
-> [  0.026259] (1:server@HostA) OK
-> [  0.026259] (4:client@HostD) Sent!
+! expect signal SIGABRT
+$ ${bindir:=.}/bugged1 --cfg=model-check:1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+> [  0.000000] (0:@) Configuration change: Set 'model-check' to '1'
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (4:client@HostD) Sent!
+> [  0.000000] (3:client@HostC) Sent!
+> [  0.000000] (1:server@HostA) OK
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (2:client@HostB) Sent!
+> [  0.000000] (1:server@HostA) **************************
+> [  0.000000] (1:server@HostA) *** PROPERTY NOT VALID ***
+> [  0.000000] (1:server@HostA) **************************
+> [  0.000000] (1:server@HostA) Counter-example execution trace:
+> [  0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=0)
+> [  0.000000] (1:server@HostA) [(2)client] iSend (src=client, buff=(verbose only), size=8)
+> [  0.000000] (1:server@HostA) [(1)server] Wait (comm=(verbose only) [(2)client -> (1)server])
+> [  0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=0)
+> [  0.000000] (1:server@HostA) [(2)client] Wait (comm=(verbose only) [(2)client -> (1)server])
+> [  0.000000] (1:server@HostA) [(4)client] iSend (src=client, buff=(verbose only), size=8)
+> [  0.000000] (1:server@HostA) [(1)server] Wait (comm=(verbose only) [(4)client -> (1)server])
+> [  0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=0)
+> [  0.000000] (1:server@HostA) [(3)client] iSend (src=client, buff=(verbose only), size=8)
+> [  0.000000] (1:server@HostA) [(1)server] Wait (comm=(verbose only) [(3)client -> (1)server])
+> [  0.000000] (1:server@HostA) State space size ~= 1
+> [  0.000000] (1:server@HostA) Expanded states = 47
+> [  0.000000] (1:server@HostA) Visited states = 170
+> [  0.000000] (1:server@HostA) Executed transitions = 157
+> [  0.000000] (1:server@HostA) Expanded / Visited = 3.617021