coverity: Add modeling file for Coverity scan
authorAndreas Schneider <asn@samba.org>
Thu, 16 Feb 2017 16:31:20 +0000 (17:31 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 23 Feb 2017 06:11:18 +0000 (07:11 +0100)
The modeling file has currently all macros for cmocka that Coverity
doesn't detect false positives. We could add torture assert macros if
needed too.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Feb 23 07:11:18 CET 2017 on sn-devel-144

coverity/README [new file with mode: 0644]
coverity/coverity_assert_model.c [new file with mode: 0644]

diff --git a/coverity/README b/coverity/README
new file mode 100644 (file)
index 0000000..84795d9
--- /dev/null
@@ -0,0 +1,6 @@
+coverity_assert_model.c:
+
+This file is a Coverity Modeling file for which currently adds the needed models
+for using the cmocka unit test framework. The assert functions could create
+false positives, to avoid that you can load this modeling file in the Coverity
+web interface. If needed add models for torture_ and talloc_ macros.
diff --git a/coverity/coverity_assert_model.c b/coverity/coverity_assert_model.c
new file mode 100644 (file)
index 0000000..ba5c17d
--- /dev/null
@@ -0,0 +1,86 @@
+#define LargestIntegralType unsigned long long
+
+void _assert_true(const LargestIntegralType result,
+                  const char* const expression,
+                  const char * const file, const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_int_equal(
+    const LargestIntegralType a, const LargestIntegralType b,
+    const char * const file, const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_int_not_equal(
+    const LargestIntegralType a, const LargestIntegralType b,
+    const char * const file, const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_return_code(const LargestIntegralType result,
+                         size_t rlen,
+                         const LargestIntegralType error,
+                         const char * const expression,
+                         const char * const file,
+                         const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_string_equal(const char * const a, const char * const b,
+                          const char * const file, const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_string_not_equal(const char * const a, const char * const b,
+                              const char *file, const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_memory_equal(const void * const a, const void * const b,
+                          const size_t size, const char* const file,
+                          const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_memory_not_equal(const void * const a, const void * const b,
+                              const size_t size, const char* const file,
+                              const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_in_range(
+    const LargestIntegralType value, const LargestIntegralType minimum,
+    const LargestIntegralType maximum, const char* const file, const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_not_in_range(
+    const LargestIntegralType value, const LargestIntegralType minimum,
+    const LargestIntegralType maximum, const char* const file, const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_in_set(
+    const LargestIntegralType value, const LargestIntegralType values[],
+    const size_t number_of_values, const char* const file, const int line)
+{
+      __coverity_panic__();
+}
+
+void _assert_not_in_set(
+    const LargestIntegralType value, const LargestIntegralType values[],
+    const size_t number_of_values, const char* const file, const int line)
+{
+      __coverity_panic__();
+}