2
%% This is an automatically generated file. Do not edit.
3
%% Use './remake' script to refresh it if needed.
4
%% All Dialyzer options should be defined in dialyzer_options
7
-module(race_tests_SUITE).
10
-include("dialyzer_test_constants.hrl").
12
-export([suite/0, init_per_suite/0, init_per_suite/1,
13
end_per_suite/1, all/0]).
14
-export([race_tests_SUITE_consistency/1, ets_insert_args1/1,
15
ets_insert_args2/1, ets_insert_args3/1, ets_insert_args4/1,
16
ets_insert_args5/1, ets_insert_args6/1, ets_insert_args7/1,
17
ets_insert_args8/1, ets_insert_control_flow1/1,
18
ets_insert_control_flow2/1, ets_insert_control_flow3/1,
19
ets_insert_control_flow4/1, ets_insert_control_flow5/1,
20
ets_insert_diff_atoms_race1/1, ets_insert_diff_atoms_race2/1,
21
ets_insert_diff_atoms_race3/1, ets_insert_diff_atoms_race4/1,
22
ets_insert_diff_atoms_race5/1, ets_insert_diff_atoms_race6/1,
23
ets_insert_double1/1, ets_insert_double2/1, ets_insert_funs1/1,
24
ets_insert_funs2/1, ets_insert_new/1, ets_insert_param/1,
25
extract_translations/1, mnesia_diff_atoms_race1/1,
26
mnesia_diff_atoms_race2/1, mnesia_dirty_read_one_write_two/1,
27
mnesia_dirty_read_two_write_one/1,
28
mnesia_dirty_read_write_double1/1,
29
mnesia_dirty_read_write_double2/1,
30
mnesia_dirty_read_write_double3/1,
31
mnesia_dirty_read_write_double4/1, mnesia_dirty_read_write_one/1,
32
mnesia_dirty_read_write_two/1, whereis_control_flow1/1,
33
whereis_control_flow2/1, whereis_control_flow3/1,
34
whereis_control_flow4/1, whereis_control_flow5/1,
35
whereis_control_flow6/1, whereis_diff_atoms_no_race/1,
36
whereis_diff_atoms_race/1, whereis_diff_functions1/1,
37
whereis_diff_functions1_nested/1,
38
whereis_diff_functions1_pathsens/1,
39
whereis_diff_functions1_twice/1, whereis_diff_functions2/1,
40
whereis_diff_functions2_nested/1,
41
whereis_diff_functions2_pathsens/1,
42
whereis_diff_functions2_twice/1, whereis_diff_functions3/1,
43
whereis_diff_functions3_nested/1,
44
whereis_diff_functions3_pathsens/1, whereis_diff_functions4/1,
45
whereis_diff_functions5/1, whereis_diff_functions6/1,
46
whereis_diff_modules1/1, whereis_diff_modules1_pathsens/1,
47
whereis_diff_modules1_rec/1, whereis_diff_modules2/1,
48
whereis_diff_modules2_pathsens/1, whereis_diff_modules2_rec/1,
49
whereis_diff_modules3/1, whereis_diff_modules_nested/1,
50
whereis_diff_modules_twice/1, whereis_diff_vars_no_race/1,
51
whereis_diff_vars_race/1, whereis_intra_inter_module1/1,
52
whereis_intra_inter_module2/1, whereis_intra_inter_module3/1,
53
whereis_intra_inter_module4/1, whereis_intra_inter_module5/1,
54
whereis_intra_inter_module6/1, whereis_intra_inter_module7/1,
55
whereis_intra_inter_module8/1, whereis_param/1,
56
whereis_param_inter_module/1, whereis_rec_function1/1,
57
whereis_rec_function2/1, whereis_rec_function3/1,
58
whereis_rec_function4/1, whereis_rec_function5/1,
59
whereis_rec_function6/1, whereis_rec_function7/1,
60
whereis_rec_function8/1, whereis_try_catch/1, whereis_vars1/1,
61
whereis_vars10/1, whereis_vars11/1, whereis_vars12/1,
62
whereis_vars13/1, whereis_vars14/1, whereis_vars15/1,
63
whereis_vars16/1, whereis_vars17/1, whereis_vars18/1,
64
whereis_vars19/1, whereis_vars2/1, whereis_vars20/1,
65
whereis_vars21/1, whereis_vars22/1, whereis_vars3/1,
66
whereis_vars4/1, whereis_vars5/1, whereis_vars6/1,
67
whereis_vars7/1, whereis_vars8/1, whereis_vars9/1]).
70
[{timetrap, {minutes, 1}}].
73
[{timetrap, ?plt_timeout}].
74
init_per_suite(Config) ->
75
OutDir = ?config(priv_dir, Config),
76
case dialyzer_common:check_plt(OutDir) of
77
fail -> {skip, "Plt creation/check failed."};
78
ok -> [{dialyzer_options, [{warnings,[race_conditions]}]}|Config]
81
end_per_suite(_Config) ->
85
[race_tests_SUITE_consistency,ets_insert_args1,ets_insert_args2,
86
ets_insert_args3,ets_insert_args4,ets_insert_args5,ets_insert_args6,
87
ets_insert_args7,ets_insert_args8,ets_insert_control_flow1,
88
ets_insert_control_flow2,ets_insert_control_flow3,ets_insert_control_flow4,
89
ets_insert_control_flow5,ets_insert_diff_atoms_race1,
90
ets_insert_diff_atoms_race2,ets_insert_diff_atoms_race3,
91
ets_insert_diff_atoms_race4,ets_insert_diff_atoms_race5,
92
ets_insert_diff_atoms_race6,ets_insert_double1,ets_insert_double2,
93
ets_insert_funs1,ets_insert_funs2,ets_insert_new,ets_insert_param,
94
extract_translations,mnesia_diff_atoms_race1,mnesia_diff_atoms_race2,
95
mnesia_dirty_read_one_write_two,mnesia_dirty_read_two_write_one,
96
mnesia_dirty_read_write_double1,mnesia_dirty_read_write_double2,
97
mnesia_dirty_read_write_double3,mnesia_dirty_read_write_double4,
98
mnesia_dirty_read_write_one,mnesia_dirty_read_write_two,
99
whereis_control_flow1,whereis_control_flow2,whereis_control_flow3,
100
whereis_control_flow4,whereis_control_flow5,whereis_control_flow6,
101
whereis_diff_atoms_no_race,whereis_diff_atoms_race,whereis_diff_functions1,
102
whereis_diff_functions1_nested,whereis_diff_functions1_pathsens,
103
whereis_diff_functions1_twice,whereis_diff_functions2,
104
whereis_diff_functions2_nested,whereis_diff_functions2_pathsens,
105
whereis_diff_functions2_twice,whereis_diff_functions3,
106
whereis_diff_functions3_nested,whereis_diff_functions3_pathsens,
107
whereis_diff_functions4,whereis_diff_functions5,whereis_diff_functions6,
108
whereis_diff_modules1,whereis_diff_modules1_pathsens,
109
whereis_diff_modules1_rec,whereis_diff_modules2,
110
whereis_diff_modules2_pathsens,whereis_diff_modules2_rec,
111
whereis_diff_modules3,whereis_diff_modules_nested,
112
whereis_diff_modules_twice,whereis_diff_vars_no_race,
113
whereis_diff_vars_race,whereis_intra_inter_module1,
114
whereis_intra_inter_module2,whereis_intra_inter_module3,
115
whereis_intra_inter_module4,whereis_intra_inter_module5,
116
whereis_intra_inter_module6,whereis_intra_inter_module7,
117
whereis_intra_inter_module8,whereis_param,whereis_param_inter_module,
118
whereis_rec_function1,whereis_rec_function2,whereis_rec_function3,
119
whereis_rec_function4,whereis_rec_function5,whereis_rec_function6,
120
whereis_rec_function7,whereis_rec_function8,whereis_try_catch,
121
whereis_vars1,whereis_vars10,whereis_vars11,whereis_vars12,whereis_vars13,
122
whereis_vars14,whereis_vars15,whereis_vars16,whereis_vars17,whereis_vars18,
123
whereis_vars19,whereis_vars2,whereis_vars20,whereis_vars21,whereis_vars22,
124
whereis_vars3,whereis_vars4,whereis_vars5,whereis_vars6,whereis_vars7,
125
whereis_vars8,whereis_vars9].
127
dialyze(Config, TestCase) ->
128
Opts = ?config(dialyzer_options, Config),
129
Dir = ?config(data_dir, Config),
130
OutDir = ?config(priv_dir, Config),
131
dialyzer_common:check(TestCase, Opts, Dir, OutDir).
133
race_tests_SUITE_consistency(Config) ->
134
Dir = ?config(data_dir, Config),
135
case dialyzer_common:new_tests(Dir, all()) of
137
New -> ct:fail({missing_tests,New})
140
ets_insert_args1(Config) ->
141
case dialyze(Config, ets_insert_args1) of
143
Error -> ct:fail(Error)
146
ets_insert_args2(Config) ->
147
case dialyze(Config, ets_insert_args2) of
149
Error -> ct:fail(Error)
152
ets_insert_args3(Config) ->
153
case dialyze(Config, ets_insert_args3) of
155
Error -> ct:fail(Error)
158
ets_insert_args4(Config) ->
159
case dialyze(Config, ets_insert_args4) of
161
Error -> ct:fail(Error)
164
ets_insert_args5(Config) ->
165
case dialyze(Config, ets_insert_args5) of
167
Error -> ct:fail(Error)
170
ets_insert_args6(Config) ->
171
case dialyze(Config, ets_insert_args6) of
173
Error -> ct:fail(Error)
176
ets_insert_args7(Config) ->
177
case dialyze(Config, ets_insert_args7) of
179
Error -> ct:fail(Error)
182
ets_insert_args8(Config) ->
183
case dialyze(Config, ets_insert_args8) of
185
Error -> ct:fail(Error)
188
ets_insert_control_flow1(Config) ->
189
case dialyze(Config, ets_insert_control_flow1) of
191
Error -> ct:fail(Error)
194
ets_insert_control_flow2(Config) ->
195
case dialyze(Config, ets_insert_control_flow2) of
197
Error -> ct:fail(Error)
200
ets_insert_control_flow3(Config) ->
201
case dialyze(Config, ets_insert_control_flow3) of
203
Error -> ct:fail(Error)
206
ets_insert_control_flow4(Config) ->
207
case dialyze(Config, ets_insert_control_flow4) of
209
Error -> ct:fail(Error)
212
ets_insert_control_flow5(Config) ->
213
case dialyze(Config, ets_insert_control_flow5) of
215
Error -> ct:fail(Error)
218
ets_insert_diff_atoms_race1(Config) ->
219
case dialyze(Config, ets_insert_diff_atoms_race1) of
221
Error -> ct:fail(Error)
224
ets_insert_diff_atoms_race2(Config) ->
225
case dialyze(Config, ets_insert_diff_atoms_race2) of
227
Error -> ct:fail(Error)
230
ets_insert_diff_atoms_race3(Config) ->
231
case dialyze(Config, ets_insert_diff_atoms_race3) of
233
Error -> ct:fail(Error)
236
ets_insert_diff_atoms_race4(Config) ->
237
case dialyze(Config, ets_insert_diff_atoms_race4) of
239
Error -> ct:fail(Error)
242
ets_insert_diff_atoms_race5(Config) ->
243
case dialyze(Config, ets_insert_diff_atoms_race5) of
245
Error -> ct:fail(Error)
248
ets_insert_diff_atoms_race6(Config) ->
249
case dialyze(Config, ets_insert_diff_atoms_race6) of
251
Error -> ct:fail(Error)
254
ets_insert_double1(Config) ->
255
case dialyze(Config, ets_insert_double1) of
257
Error -> ct:fail(Error)
260
ets_insert_double2(Config) ->
261
case dialyze(Config, ets_insert_double2) of
263
Error -> ct:fail(Error)
266
ets_insert_funs1(Config) ->
267
case dialyze(Config, ets_insert_funs1) of
269
Error -> ct:fail(Error)
272
ets_insert_funs2(Config) ->
273
case dialyze(Config, ets_insert_funs2) of
275
Error -> ct:fail(Error)
278
ets_insert_new(Config) ->
279
case dialyze(Config, ets_insert_new) of
281
Error -> ct:fail(Error)
284
ets_insert_param(Config) ->
285
case dialyze(Config, ets_insert_param) of
287
Error -> ct:fail(Error)
290
extract_translations(Config) ->
291
case dialyze(Config, extract_translations) of
293
Error -> ct:fail(Error)
296
mnesia_diff_atoms_race1(Config) ->
297
case dialyze(Config, mnesia_diff_atoms_race1) of
299
Error -> ct:fail(Error)
302
mnesia_diff_atoms_race2(Config) ->
303
case dialyze(Config, mnesia_diff_atoms_race2) of
305
Error -> ct:fail(Error)
308
mnesia_dirty_read_one_write_two(Config) ->
309
case dialyze(Config, mnesia_dirty_read_one_write_two) of
311
Error -> ct:fail(Error)
314
mnesia_dirty_read_two_write_one(Config) ->
315
case dialyze(Config, mnesia_dirty_read_two_write_one) of
317
Error -> ct:fail(Error)
320
mnesia_dirty_read_write_double1(Config) ->
321
case dialyze(Config, mnesia_dirty_read_write_double1) of
323
Error -> ct:fail(Error)
326
mnesia_dirty_read_write_double2(Config) ->
327
case dialyze(Config, mnesia_dirty_read_write_double2) of
329
Error -> ct:fail(Error)
332
mnesia_dirty_read_write_double3(Config) ->
333
case dialyze(Config, mnesia_dirty_read_write_double3) of
335
Error -> ct:fail(Error)
338
mnesia_dirty_read_write_double4(Config) ->
339
case dialyze(Config, mnesia_dirty_read_write_double4) of
341
Error -> ct:fail(Error)
344
mnesia_dirty_read_write_one(Config) ->
345
case dialyze(Config, mnesia_dirty_read_write_one) of
347
Error -> ct:fail(Error)
350
mnesia_dirty_read_write_two(Config) ->
351
case dialyze(Config, mnesia_dirty_read_write_two) of
353
Error -> ct:fail(Error)
356
whereis_control_flow1(Config) ->
357
case dialyze(Config, whereis_control_flow1) of
359
Error -> ct:fail(Error)
362
whereis_control_flow2(Config) ->
363
case dialyze(Config, whereis_control_flow2) of
365
Error -> ct:fail(Error)
368
whereis_control_flow3(Config) ->
369
case dialyze(Config, whereis_control_flow3) of
371
Error -> ct:fail(Error)
374
whereis_control_flow4(Config) ->
375
case dialyze(Config, whereis_control_flow4) of
377
Error -> ct:fail(Error)
380
whereis_control_flow5(Config) ->
381
case dialyze(Config, whereis_control_flow5) of
383
Error -> ct:fail(Error)
386
whereis_control_flow6(Config) ->
387
case dialyze(Config, whereis_control_flow6) of
389
Error -> ct:fail(Error)
392
whereis_diff_atoms_no_race(Config) ->
393
case dialyze(Config, whereis_diff_atoms_no_race) of
395
Error -> ct:fail(Error)
398
whereis_diff_atoms_race(Config) ->
399
case dialyze(Config, whereis_diff_atoms_race) of
401
Error -> ct:fail(Error)
404
whereis_diff_functions1(Config) ->
405
case dialyze(Config, whereis_diff_functions1) of
407
Error -> ct:fail(Error)
410
whereis_diff_functions1_nested(Config) ->
411
case dialyze(Config, whereis_diff_functions1_nested) of
413
Error -> ct:fail(Error)
416
whereis_diff_functions1_pathsens(Config) ->
417
case dialyze(Config, whereis_diff_functions1_pathsens) of
419
Error -> ct:fail(Error)
422
whereis_diff_functions1_twice(Config) ->
423
case dialyze(Config, whereis_diff_functions1_twice) of
425
Error -> ct:fail(Error)
428
whereis_diff_functions2(Config) ->
429
case dialyze(Config, whereis_diff_functions2) of
431
Error -> ct:fail(Error)
434
whereis_diff_functions2_nested(Config) ->
435
case dialyze(Config, whereis_diff_functions2_nested) of
437
Error -> ct:fail(Error)
440
whereis_diff_functions2_pathsens(Config) ->
441
case dialyze(Config, whereis_diff_functions2_pathsens) of
443
Error -> ct:fail(Error)
446
whereis_diff_functions2_twice(Config) ->
447
case dialyze(Config, whereis_diff_functions2_twice) of
449
Error -> ct:fail(Error)
452
whereis_diff_functions3(Config) ->
453
case dialyze(Config, whereis_diff_functions3) of
455
Error -> ct:fail(Error)
458
whereis_diff_functions3_nested(Config) ->
459
case dialyze(Config, whereis_diff_functions3_nested) of
461
Error -> ct:fail(Error)
464
whereis_diff_functions3_pathsens(Config) ->
465
case dialyze(Config, whereis_diff_functions3_pathsens) of
467
Error -> ct:fail(Error)
470
whereis_diff_functions4(Config) ->
471
case dialyze(Config, whereis_diff_functions4) of
473
Error -> ct:fail(Error)
476
whereis_diff_functions5(Config) ->
477
case dialyze(Config, whereis_diff_functions5) of
479
Error -> ct:fail(Error)
482
whereis_diff_functions6(Config) ->
483
case dialyze(Config, whereis_diff_functions6) of
485
Error -> ct:fail(Error)
488
whereis_diff_modules1(Config) ->
489
case dialyze(Config, whereis_diff_modules1) of
491
Error -> ct:fail(Error)
494
whereis_diff_modules1_pathsens(Config) ->
495
case dialyze(Config, whereis_diff_modules1_pathsens) of
497
Error -> ct:fail(Error)
500
whereis_diff_modules1_rec(Config) ->
501
case dialyze(Config, whereis_diff_modules1_rec) of
503
Error -> ct:fail(Error)
506
whereis_diff_modules2(Config) ->
507
case dialyze(Config, whereis_diff_modules2) of
509
Error -> ct:fail(Error)
512
whereis_diff_modules2_pathsens(Config) ->
513
case dialyze(Config, whereis_diff_modules2_pathsens) of
515
Error -> ct:fail(Error)
518
whereis_diff_modules2_rec(Config) ->
519
case dialyze(Config, whereis_diff_modules2_rec) of
521
Error -> ct:fail(Error)
524
whereis_diff_modules3(Config) ->
525
case dialyze(Config, whereis_diff_modules3) of
527
Error -> ct:fail(Error)
530
whereis_diff_modules_nested(Config) ->
531
case dialyze(Config, whereis_diff_modules_nested) of
533
Error -> ct:fail(Error)
536
whereis_diff_modules_twice(Config) ->
537
case dialyze(Config, whereis_diff_modules_twice) of
539
Error -> ct:fail(Error)
542
whereis_diff_vars_no_race(Config) ->
543
case dialyze(Config, whereis_diff_vars_no_race) of
545
Error -> ct:fail(Error)
548
whereis_diff_vars_race(Config) ->
549
case dialyze(Config, whereis_diff_vars_race) of
551
Error -> ct:fail(Error)
554
whereis_intra_inter_module1(Config) ->
555
case dialyze(Config, whereis_intra_inter_module1) of
557
Error -> ct:fail(Error)
560
whereis_intra_inter_module2(Config) ->
561
case dialyze(Config, whereis_intra_inter_module2) of
563
Error -> ct:fail(Error)
566
whereis_intra_inter_module3(Config) ->
567
case dialyze(Config, whereis_intra_inter_module3) of
569
Error -> ct:fail(Error)
572
whereis_intra_inter_module4(Config) ->
573
case dialyze(Config, whereis_intra_inter_module4) of
575
Error -> ct:fail(Error)
578
whereis_intra_inter_module5(Config) ->
579
case dialyze(Config, whereis_intra_inter_module5) of
581
Error -> ct:fail(Error)
584
whereis_intra_inter_module6(Config) ->
585
case dialyze(Config, whereis_intra_inter_module6) of
587
Error -> ct:fail(Error)
590
whereis_intra_inter_module7(Config) ->
591
case dialyze(Config, whereis_intra_inter_module7) of
593
Error -> ct:fail(Error)
596
whereis_intra_inter_module8(Config) ->
597
case dialyze(Config, whereis_intra_inter_module8) of
599
Error -> ct:fail(Error)
602
whereis_param(Config) ->
603
case dialyze(Config, whereis_param) of
605
Error -> ct:fail(Error)
608
whereis_param_inter_module(Config) ->
609
case dialyze(Config, whereis_param_inter_module) of
611
Error -> ct:fail(Error)
614
whereis_rec_function1(Config) ->
615
case dialyze(Config, whereis_rec_function1) of
617
Error -> ct:fail(Error)
620
whereis_rec_function2(Config) ->
621
case dialyze(Config, whereis_rec_function2) of
623
Error -> ct:fail(Error)
626
whereis_rec_function3(Config) ->
627
case dialyze(Config, whereis_rec_function3) of
629
Error -> ct:fail(Error)
632
whereis_rec_function4(Config) ->
633
case dialyze(Config, whereis_rec_function4) of
635
Error -> ct:fail(Error)
638
whereis_rec_function5(Config) ->
639
case dialyze(Config, whereis_rec_function5) of
641
Error -> ct:fail(Error)
644
whereis_rec_function6(Config) ->
645
case dialyze(Config, whereis_rec_function6) of
647
Error -> ct:fail(Error)
650
whereis_rec_function7(Config) ->
651
case dialyze(Config, whereis_rec_function7) of
653
Error -> ct:fail(Error)
656
whereis_rec_function8(Config) ->
657
case dialyze(Config, whereis_rec_function8) of
659
Error -> ct:fail(Error)
662
whereis_try_catch(Config) ->
663
case dialyze(Config, whereis_try_catch) of
665
Error -> ct:fail(Error)
668
whereis_vars1(Config) ->
669
case dialyze(Config, whereis_vars1) of
671
Error -> ct:fail(Error)
674
whereis_vars10(Config) ->
675
case dialyze(Config, whereis_vars10) of
677
Error -> ct:fail(Error)
680
whereis_vars11(Config) ->
681
case dialyze(Config, whereis_vars11) of
683
Error -> ct:fail(Error)
686
whereis_vars12(Config) ->
687
case dialyze(Config, whereis_vars12) of
689
Error -> ct:fail(Error)
692
whereis_vars13(Config) ->
693
case dialyze(Config, whereis_vars13) of
695
Error -> ct:fail(Error)
698
whereis_vars14(Config) ->
699
case dialyze(Config, whereis_vars14) of
701
Error -> ct:fail(Error)
704
whereis_vars15(Config) ->
705
case dialyze(Config, whereis_vars15) of
707
Error -> ct:fail(Error)
710
whereis_vars16(Config) ->
711
case dialyze(Config, whereis_vars16) of
713
Error -> ct:fail(Error)
716
whereis_vars17(Config) ->
717
case dialyze(Config, whereis_vars17) of
719
Error -> ct:fail(Error)
722
whereis_vars18(Config) ->
723
case dialyze(Config, whereis_vars18) of
725
Error -> ct:fail(Error)
728
whereis_vars19(Config) ->
729
case dialyze(Config, whereis_vars19) of
731
Error -> ct:fail(Error)
734
whereis_vars2(Config) ->
735
case dialyze(Config, whereis_vars2) of
737
Error -> ct:fail(Error)
740
whereis_vars20(Config) ->
741
case dialyze(Config, whereis_vars20) of
743
Error -> ct:fail(Error)
746
whereis_vars21(Config) ->
747
case dialyze(Config, whereis_vars21) of
749
Error -> ct:fail(Error)
752
whereis_vars22(Config) ->
753
case dialyze(Config, whereis_vars22) of
755
Error -> ct:fail(Error)
758
whereis_vars3(Config) ->
759
case dialyze(Config, whereis_vars3) of
761
Error -> ct:fail(Error)
764
whereis_vars4(Config) ->
765
case dialyze(Config, whereis_vars4) of
767
Error -> ct:fail(Error)
770
whereis_vars5(Config) ->
771
case dialyze(Config, whereis_vars5) of
773
Error -> ct:fail(Error)
776
whereis_vars6(Config) ->
777
case dialyze(Config, whereis_vars6) of
779
Error -> ct:fail(Error)
782
whereis_vars7(Config) ->
783
case dialyze(Config, whereis_vars7) of
785
Error -> ct:fail(Error)
788
whereis_vars8(Config) ->
789
case dialyze(Config, whereis_vars8) of
791
Error -> ct:fail(Error)
794
whereis_vars9(Config) ->
795
case dialyze(Config, whereis_vars9) of
797
Error -> ct:fail(Error)