[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/app/cwmp/netcwmp/tests/src/abts.h b/ap/app/cwmp/netcwmp/tests/src/abts.h
new file mode 100755
index 0000000..ee9d63a
--- /dev/null
+++ b/ap/app/cwmp/netcwmp/tests/src/abts.h
@@ -0,0 +1,116 @@
+/* Copyright 2000-2004 Ryan Bloom

+ *

+ * Licensed under the Apache License, Version 2.0 (the "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+

+#ifndef __TEST_ABTS_H__

+#define __TEST_ABTS_H__

+

+#ifdef __cplusplus

+extern "C" {

+#endif

+

+#include <stdarg.h>

+#include <stdio.h>

+#include <stdlib.h>

+#include <string.h>

+

+#ifndef ABTS_H

+#define ABTS_H

+

+#ifndef FALSE

+#define FALSE 0

+#endif

+#ifndef TRUE

+#define TRUE  1

+#endif

+

+struct sub_suite {

+    const char *name;

+    int num_test;

+    int failed;

+    int not_run;

+    int not_impl;

+    struct sub_suite *next;

+};

+typedef struct sub_suite sub_suite;

+

+struct abts_suite {

+    sub_suite *head;

+    sub_suite *tail;

+};

+typedef struct abts_suite abts_suite;

+

+struct abts_case {

+    int failed;

+    sub_suite *suite;

+};

+typedef struct abts_case abts_case;

+

+typedef void (*test_func)(abts_case *tc, void *data);

+

+#define ADD_SUITE(suite) abts_add_suite(suite, __FILE__);

+

+abts_suite *abts_add_suite(abts_suite *suite, const char *suite_name);

+void abts_run_test(abts_suite *ts, test_func f, void *value);

+void abts_log_message(const char *fmt, ...);

+

+void abts_int_equal(abts_case *tc, const int expected, const int actual, int lineno);

+void abts_int_nequal(abts_case *tc, const int expected, const int actual, int lineno);

+void abts_str_equal(abts_case *tc, const char *expected, const char *actual, int lineno);

+void abts_str_notequal(abts_case *tc, const char *expected, const char *actual, int lineno);

+void abts_str_nequal(abts_case *tc, const char *expected, const char *actual,

+                       size_t n, int lineno);

+void abts_ptr_notnull(abts_case *tc, const void *ptr, int lineno);

+void abts_ptr_equal(abts_case *tc, const void *expected, const void *actual, int lineno);

+void abts_true(abts_case *tc, int condition, int lineno);

+void abts_fail(abts_case *tc, const char *message, int lineno);

+void abts_not_impl(abts_case *tc, const char *message, int lineno);

+void abts_assert(abts_case *tc, const char *message, int condition, int lineno);

+

+/* Convenience macros. Ryan hates these! */

+#define ABTS_INT_EQUAL(a, b, c)     abts_int_equal(a, b, c, __LINE__)

+#define ABTS_INT_NEQUAL(a, b, c)    abts_int_nequal(a, b, c, __LINE__)

+#define ABTS_STR_EQUAL(a, b, c)     abts_str_equal(a, b, c, __LINE__)

+#define ABTS_STR_NOTEQUAL(a, b, c)     abts_str_notequal(a, b, c, __LINE__)

+#define ABTS_STR_NEQUAL(a, b, c, d) abts_str_nequal(a, b, c, d, __LINE__)

+#define ABTS_PTR_NOTNULL(a, b)      abts_ptr_notnull(a, b, __LINE__)

+#define ABTS_PTR_NULL(a, b)         abts_ptr_equal(a, NULL, b, __LINE__)

+#define ABTS_PTR_EQUAL(a, b, c)     abts_ptr_equal(a, b, c, __LINE__)

+#define ABTS_TRUE(a, b)             abts_true(a, b, __LINE__);

+#define ABTS_FAIL(a, b)             abts_fail(a, b, __LINE__);

+#define ABTS_NOT_IMPL(a, b)         abts_not_impl(a, b, __LINE__);

+#define ABTS_ASSERT(a, b, c)        abts_assert(a, b, c, __LINE__);

+

+abts_suite *run_tests(abts_suite *suite);

+abts_suite *run_tests1(abts_suite *suite);

+

+

+#define ASSERT_NULL(x)      ABTS_PTR_NULL(tc, x)

+#define ASSERT_NOTNULL(x)      ABTS_PTR_NOTNULL(tc, x)

+#define ASSERT_TRUE(x)      ABTS_TRUE(tc, x)

+#define ASSERT_FALSE(x)      ABTS_TRUE(tc, !x)

+

+#define ASSERT_STR_EQ(a,b)      ABTS_STR_EQUAL(tc, a,b)

+#define ASSERT_STR_NEQ(a,b)      ABTS_STR_NOTEQUAL(tc, a,b)

+

+

+#endif

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+