src/tests/fdi_logger \
src/tests/fdi_pipe \
src/tests/libdlog_pipe \
- src/tests/libdlog_android \
- src/tests/libdlog_android_monotonic \
+ src/tests/libdlog_android_pos \
+ src/tests/libdlog_android_neg \
+ src/tests/libdlog_android_monotonic_pos \
+ src/tests/libdlog_android_monotonic_neg \
src/tests/libdlog_base_pos \
src/tests/libdlog_base_neg \
src/tests/queued_entry \
src_tests_libdlog_pipe_CFLAGS = $(check_CFLAGS) -pthread
src_tests_libdlog_pipe_LDFLAGS = $(AM_LDFLAGS) -lpthread -Wl,--wrap=syslog_critical_failure,--wrap=connect,--wrap=write,--wrap=recv_pipe,--wrap=dup2,--wrap=socket,--wrap=close -lm
-src_tests_libdlog_android_SOURCES = src/tests/libdlog_android.c src/libdlog/log_android.c src/shared/logcommon.c src/shared/parsers.c
-src_tests_libdlog_android_CFLAGS = $(check_CFLAGS)
-src_tests_libdlog_android_LDFLAGS = $(AM_LDFLAGS) -Wl,--wrap=logger_open_buffer_from_config,--wrap=close,--wrap=writev
+src_tests_libdlog_android_pos_SOURCES = src/tests/libdlog_android_pos.c src/libdlog/log_android.c src/shared/logcommon.c src/shared/parsers.c
+src_tests_libdlog_android_pos_CFLAGS = $(check_CFLAGS)
+src_tests_libdlog_android_pos_LDFLAGS = $(AM_LDFLAGS) -Wl,--wrap=logger_open_buffer_from_config,--wrap=close,--wrap=writev
-src_tests_libdlog_android_monotonic_SOURCES = src/tests/libdlog_android.c src/libdlog/log_android.c src/shared/logcommon.c src/shared/parsers.c
-src_tests_libdlog_android_monotonic_CFLAGS = $(check_CFLAGS) -DUSE_ANDROID_MONOTONIC
-src_tests_libdlog_android_monotonic_LDFLAGS = $(AM_LDFLAGS) -Wl,--wrap=logger_open_buffer_from_config,--wrap=close,--wrap=writev,--wrap=clock_gettime
+src_tests_libdlog_android_neg_SOURCES = src/tests/libdlog_android_neg.c src/libdlog/log_android.c src/shared/logcommon.c src/shared/parsers.c
+src_tests_libdlog_android_neg_CFLAGS = $(check_CFLAGS)
+src_tests_libdlog_android_neg_LDFLAGS = $(AM_LDFLAGS) -Wl,--wrap=logger_open_buffer_from_config,--wrap=close,--wrap=writev
+
+src_tests_libdlog_android_monotonic_pos_SOURCES = src/tests/libdlog_android_pos.c src/libdlog/log_android.c src/shared/logcommon.c src/shared/parsers.c
+src_tests_libdlog_android_monotonic_pos_CFLAGS = $(check_CFLAGS) -DUSE_ANDROID_MONOTONIC
+src_tests_libdlog_android_monotonic_pos_LDFLAGS = $(AM_LDFLAGS) -Wl,--wrap=logger_open_buffer_from_config,--wrap=close,--wrap=writev,--wrap=clock_gettime
+
+src_tests_libdlog_android_monotonic_neg_SOURCES = src/tests/libdlog_android_neg.c src/libdlog/log_android.c src/shared/logcommon.c src/shared/parsers.c
+src_tests_libdlog_android_monotonic_neg_CFLAGS = $(check_CFLAGS) -DUSE_ANDROID_MONOTONIC
+src_tests_libdlog_android_monotonic_neg_LDFLAGS = $(AM_LDFLAGS) -Wl,--wrap=logger_open_buffer_from_config,--wrap=close,--wrap=writev,--wrap=clock_gettime
src_tests_libdlog_base_pos_SOURCES = src/tests/libdlog_base_pos.c src/libdlog/log.c src/shared/logcommon.c src/shared/logconfig.c src/shared/parsers.c
src_tests_libdlog_base_pos_CFLAGS = $(check_CFLAGS) -pthread
--- /dev/null
+#include "libdlog_android_wrapper.c"
+
+int main()
+{
+ fail_open = true;
+ __dlog_init_android(&CONF);
+ assert(closed == 2);
+ assert(!write_to_log);
+ assert(!destroy_backend);
+ closed = 0;
+
+ fail_open = false;
+ __dlog_init_android(&CONF);
+ assert(closed == 0);
+ assert(write_to_log);
+ assert(destroy_backend);
+
+#define F(B, P, M) assert(write_to_log(B, P, "tag", M) == DLOG_ERROR_INVALID_PARAMETER)
+ F(LOG_ID_INVALID, DLOG_ERROR , "xx");
+ F(LOG_ID_MAX , DLOG_ERROR , "xx");
+ F(LOG_ID_MAIN , DLOG_UNKNOWN , "xx");
+ F(LOG_ID_MAIN , (log_priority) -7, "xx");
+ F(LOG_ID_MAIN , (log_priority) 23, "xx");
+ F(LOG_ID_MAIN , DLOG_ERROR , NULL);
+#undef F
+
+ used_tag = "tag";
+ for (int i = 0; i < 4; ++i) {
+ used_msg = LONG_TEXTS[i];
+
+ writev_called = false;
+ writev_ret = -1;
+ errno_to_set = i + 10;
+ assert(write_to_log(i, i + 3, "tag", LONG_TEXTS[i]) == -(i + 10));
+ assert(writev_called);
+ }
+
+ destroy_backend();
+ assert(closed + 1 == LOG_ID_MAX);
+}
--- /dev/null
+#include "libdlog_android_wrapper.c"
+
+int main()
+{
+ fail_open = false;
+ __dlog_init_android(&CONF);
+ assert(closed == 0);
+ assert(write_to_log);
+ assert(destroy_backend);
+
+
+ used_tag = "tag";
+ for (int i = 0; i < 4; ++i) {
+ writev_called = false;
+ writev_ret = i + 20;
+ used_msg = LONG_TEXTS[i];
+ assert(write_to_log(i, i + 3, "tag", LONG_TEXTS[i]) == i + 20);
+ assert(writev_called);
+ }
+
+ // NULL tag is also valid, in which case it's implicitly ""
+ used_tag = "";
+ used_msg = LONG_TEXTS[0];
+ writev_ret = 1234;
+ assert(write_to_log(0, 3, NULL, LONG_TEXTS[0]) == 1234);
+
+ destroy_backend();
+ assert(closed + 1 == LOG_ID_MAX);
+}
errno = errno_to_set;
return writev_ret;
}
-
-int main()
-{
- fail_open = true;
- __dlog_init_android(&CONF);
- assert(closed == 2);
- assert(!write_to_log);
- assert(!destroy_backend);
- closed = 0;
-
- fail_open = false;
- __dlog_init_android(&CONF);
- assert(closed == 0);
- assert(write_to_log);
- assert(destroy_backend);
-
-#define F(B, P, M) assert(write_to_log(B, P, "tag", M) == DLOG_ERROR_INVALID_PARAMETER)
- F(LOG_ID_INVALID, DLOG_ERROR , "xx");
- F(LOG_ID_MAX , DLOG_ERROR , "xx");
- F(LOG_ID_MAIN , DLOG_UNKNOWN , "xx");
- F(LOG_ID_MAIN , (log_priority) -7, "xx");
- F(LOG_ID_MAIN , (log_priority) 23, "xx");
- F(LOG_ID_MAIN , DLOG_ERROR , NULL);
-#undef F
-
- used_tag = "tag";
- for (int i = 0; i < 4; ++i) {
- writev_called = false;
- writev_ret = i + 20;
- used_msg = LONG_TEXTS[i];
- assert(write_to_log(i, i + 3, "tag", LONG_TEXTS[i]) == i + 20);
- assert(writev_called);
-
- writev_called = false;
- writev_ret = -1;
- errno_to_set = i + 10;
- assert(write_to_log(i, i + 3, "tag", LONG_TEXTS[i]) == -(i + 10));
- assert(writev_called);
- }
-
- // NULL tag is also valid, in which case it's implicitly ""
- used_tag = "";
- used_msg = LONG_TEXTS[0];
- writev_ret = 1234;
- assert(write_to_log(0, 3, NULL, LONG_TEXTS[0]) == 1234);
-
- destroy_backend();
- assert(closed + 1 == LOG_ID_MAX);
-}