You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tests/unit/cdomains/threadIdDomainTest.ml
+13-13Lines changed: 13 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -50,9 +50,9 @@ let test_history_may_create _ =
50
50
assert_equal true (may_create main (main >> a));
51
51
assert_equal true (may_create main (main >> a >> b));
52
52
assert_equal true (may_create (main >> a) (main >> a >> b));
53
-
assert_equal false (may_create (main >> a) (main >> a));
54
-
assert_equal false (may_create (main >> b) (main >> a >> b));
55
-
assert_equal false (may_create (main >> a >> a) (main >> a >> b));
53
+
assert_equal false (may_create (main >> a) (main >> a));(* infeasible for race: definitely_not_started allows equality *)
54
+
assert_equal false (may_create (main >> b) (main >> a >> b));(* 53-races-mhp/04-not-created2 *)
55
+
assert_equal false (may_create (main >> a >> a) (main >> a >> b));(* infeasible for race: cannot create non-unique (main >> a >> a) before unique (main >> a >> b) *)
56
56
57
57
(* unique creates non-unique and is prefix: added elements cannot be in prefix *)
58
58
assert_equal true (may_create main (main >> a >> a));
@@ -64,22 +64,22 @@ let test_history_may_create _ =
64
64
assert_equal true (may_create (main >> a) (main >> a >> a));
65
65
assert_equal true (may_create (main >> a >> b) (main >> a >> b >> b));
66
66
assert_equal true (may_create (main >> a >> b) (main >> a >> b >> a));
67
-
assert_equal false (may_create (main >> a >> b) (main >> a >> a));
68
-
assert_equal false (may_create (main >> a >> b) (main >> b >> b));
67
+
assert_equal false (may_create (main >> a >> b) (main >> a >> a));(* infeasible for race: definitely_not_started requires (main >> a), where this must happen, to be must parent for (main >> a >> a), which it is not *)
68
+
assert_equal false (may_create (main >> a >> b) (main >> b >> b));(* infeasible for race: definitely_not_started requires (main >> a), where this must happen, to be must parent for (main >> b >> b), which it is not *)
69
69
70
70
(* unique creates non-unique and prefixes are incompatible *)
71
-
assert_equal false (may_create (main >> a) (main >> b >> a >> a));
72
-
assert_equal false (may_create (main >> a >> b) (main >> b >> a >> c >> c));
73
-
assert_equal false (may_create (main >> a >> b) (main >> a >> c >> d >> d));
71
+
assert_equal false (may_create (main >> a) (main >> b >> a >> a));(* 53-races-mhp/05-not-created3 *)
72
+
assert_equal false (may_create (main >> a >> b) (main >> b >> a >> c >> c));(* infeasible for race: definitely_not_started requires (main >> a), where this must happen, to be must parent for (main >> b >> a >> c >> c), which it is not *)
73
+
assert_equal false (may_create (main >> a >> b) (main >> a >> c >> d >> d));(* 53-races-mhp/06-not-created4, also passes with simple may_create *)
74
74
75
75
(* non-unique creates non-unique: prefix must not lengthen *)
76
-
assert_equal false (may_create (main >> a >> a) (main >> a >> b >> b));
77
-
assert_equal false (may_create (main >> a >> a) (main >> b >> a >> a));
76
+
assert_equal false (may_create (main >> a >> a) (main >> a >> b >> b));(* infeasible for race: cannot create non-unique (main >> a >> a) before unique prefix-ed (main >> a >> b >> b) *)
77
+
assert_equal false (may_create (main >> a >> a) (main >> b >> a >> a));(* 53-races-mhp/07-not-created5 *)
78
78
(* non-unique creates non-unique: prefix must be compatible *)
79
-
assert_equal false (may_create (main >> a >> b >> c >> c) (main >> b >> a >> c >> c));
79
+
assert_equal false (may_create (main >> a >> b >> c >> c) (main >> b >> a >> c >> c));(* infeasible for race: definitely_not_started requires (main >> a >> b or main >> a >> b >> c), where this must happen, to be must parent for (main >> b >> a >> c >> c), which it is not *)
80
80
(* non-unique creates non-unique: elements must not be removed *)
81
-
assert_equal false (may_create (main >> a >> b >> b) (main >> a >> c >> c)); (* from set *)
82
-
assert_equal false (may_create (main >> a >> b >> b) (main >> b >> b)); (* from prefix *)
81
+
assert_equal false (may_create (main >> a >> b >> b) (main >> a >> c >> c)); (* from set *)(* 53-races-mhp/08-not-created6, also passes with simple may_create *)
82
+
assert_equal false (may_create (main >> a >> b >> b) (main >> b >> b)); (* from prefix *)(* infeasible for race: definitely_not_started requires (main >> a or main >> a >> b), where this must happen, to be must parent for (main >> b >> b), which it is not *)
83
83
(* non-unique creates non-unique: removed elements and set must be in new set *)
84
84
(* assert_equal false (may_create (main >> a >> b >> c >> c) (main >> a >> c >> c)); *)
85
85
(* TODO: cannot test due because by construction after prefix check? *)
0 commit comments