aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/test/README
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dialyzer/test/README')
-rw-r--r--lib/dialyzer/test/README44
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/dialyzer/test/README b/lib/dialyzer/test/README
new file mode 100644
index 0000000000..07340c7266
--- /dev/null
+++ b/lib/dialyzer/test/README
@@ -0,0 +1,44 @@
+-------------------------------
+To add test cases in any suite:
+-------------------------------
+
+ 1) If the test requires dialyzer to analyze a single file place it in the
+ suite's 'src' directory. If analysis of more files is needed place them
+ all in a new directory in suite's 'src' directory.
+
+ 2) Create a file with the same name as the test (if single file, omit the
+ extension else directory name) containing the expected result in suite's
+ 'result' directory.
+
+ 3) Run './remake <suite>', where <suite> is the suite's name omitting
+ "_tests_SUITE".
+
+----------------------
+To create a new suite:
+----------------------
+
+ 1) Create a directory with the suffix 'tests_SUITE_data'. The name should
+ describe the suite.
+
+ 2) In the suite's directory create subdirectories 'src' and 'results' as
+ well as a 'dialyzer_options' file with the following content:
+
+ {dialyzer_options, List}.
+ {time_limit, Limit}.
+
+ where:
+
+ List = a list of dialyzer options. Common case will be something
+ like [{warnings, Warnings}], where Warnings is a list of valid
+ '-W' prefixed dialyzer options without the 'W' prefix (e.g.
+ '-Wfoo' would be declared as [{warnings, [foo]}].
+ Limit = the amount of time each test case is allowed to run. Must be
+ bigger than the time it takes the most time-consuming test to
+ finish.
+
+ Any of these lines may be missing. Default options list is empty and
+ default time limit is 1 minute.
+
+ 3) Add tests as described in previous section.
+
+ 4) Add the resulting suite's name in the Makefile's MODULES variable.