summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxel Fagerstedt <axel.fagerstedt@linaro.org>2013-02-22 17:01:17 +0100
committerAxel Fagerstedt <axel.fagerstedt@linaro.org>2013-02-25 13:12:32 +0100
commit423588938225bc69132c15a0092e62ecd295f033 (patch)
treec82af60cbcefa28d7652e91ff482fa165c3197f5
parent69ced41d78cabe393d2faddd6a2c1c120df698bd (diff)
downloadlinaro-android-kernel-test-423588938225bc69132c15a0092e62ecd295f033.tar.gz
Add logger test case
-rwxr-xr-xlinaro-android-kernel-tests.sh18
-rw-r--r--logger/Android.mk8
-rw-r--r--logger/logger-dev-test.c135
-rw-r--r--product.mk1
4 files changed, 162 insertions, 0 deletions
diff --git a/linaro-android-kernel-tests.sh b/linaro-android-kernel-tests.sh
index 5cd9cf1..aa4e387 100755
--- a/linaro-android-kernel-tests.sh
+++ b/linaro-android-kernel-tests.sh
@@ -43,6 +43,23 @@ run_alarm_dev_test()
fi
}
+run_logger_test()
+{
+ echo "Running logger dev test."
+
+ for log in main events radio system
+ do
+ echo "Running for log: $log"
+ loggerdevtest $log
+
+ if [ $? -eq 0 ]; then
+ echo "[loggerdevtest $log]: test passed"
+ else
+ echo "[loggerdevtest $log]: test failed"
+ fi
+done
+}
+
run_ashmemtest
@@ -50,3 +67,4 @@ run_ashmemtest_expanded
run_alarm_dev_test
+run_logger_test
diff --git a/logger/Android.mk b/logger/Android.mk
new file mode 100644
index 0000000..f0d7bdf
--- /dev/null
+++ b/logger/Android.mk
@@ -0,0 +1,8 @@
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE_TAGS := optional tests
+LOCAL_MODULE := loggerdevtest
+LOCAL_SRC_FILES := logger-dev-test.c
+include $(BUILD_EXECUTABLE)
diff --git a/logger/logger-dev-test.c b/logger/logger-dev-test.c
new file mode 100644
index 0000000..d77121f
--- /dev/null
+++ b/logger/logger-dev-test.c
@@ -0,0 +1,135 @@
+/*
+
+ * logger-dev-test.c Trivial Android logger-dev unit test
+
+ *
+
+ * By: AppalaNaidu Bade <appala.bade@linaro.org>
+
+ *
+
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+
+#ifdef UBUNTU_LOGGER
+
+#include <sys/ioctl.h>
+
+#define __LOGGERIO 0xAE
+
+#define LOGGER_GET_LOG_BUF_SIZE _IO(__LOGGERIO, 1) /* size of log */
+#define LOGGER_GET_LOG_LEN _IO(__LOGGERIO, 2) /* used log len */
+#define LOGGER_GET_NEXT_ENTRY_LEN _IO(__LOGGERIO, 3) /* next entry len */
+#define LOGGER_FLUSH_LOG _IO(__LOGGERIO, 4) /* flush log */
+
+#define LOGGER_LOG_RADIO "/dev/log_radio"
+#define LOGGER_LOG_EVENTS "/dev/log_events"
+#define LOGGER_LOG_SYSTEM "/dev/log_system"
+#define LOGGER_LOG_MAIN "/dev/log_main"
+
+#else
+
+#include <cutils/logger.h>
+
+#define LOGGER_LOG_RADIO "/dev/log/radio"
+#define LOGGER_LOG_EVENTS "/dev/log/events"
+#define LOGGER_LOG_SYSTEM "/dev/log/system"
+#define LOGGER_LOG_MAIN "/dev/log/main"
+
+
+#endif // UBUNTU_LOGGER
+
+
+void show_help()
+{
+ printf("Usage:\n loggerdevtest logdevicename(main/events/radio/system)\n\n");
+ return;
+}
+
+int clearlog(int logfd)
+{
+ return ioctl(logfd, LOGGER_FLUSH_LOG);
+}
+
+int getlogsize(int logfd)
+{
+ return ioctl(logfd, LOGGER_GET_LOG_BUF_SIZE);
+}
+
+int getlogreadablesize(int logfd)
+{
+ return ioctl(logfd, LOGGER_GET_LOG_LEN);
+}
+
+int getlognextentrysize(int logfd)
+{
+ return ioctl(logfd, LOGGER_GET_NEXT_ENTRY_LEN);
+}
+
+int main(int argc, char *argv[])
+{
+ char *logdevicename;
+ int log_fd;
+ int log_ret;
+
+ if (argc !=2) {
+ show_help();
+ exit(0);
+ }
+ if (strcmp(argv[argc-1],"help") == 0) {
+ show_help();
+ exit(0);
+ }
+ if(strcmp(argv[argc-1],"main")==0)
+ logdevicename = LOGGER_LOG_MAIN;
+ else if(strcmp(argv[argc-1], "events")==0)
+ logdevicename = LOGGER_LOG_EVENTS;
+ else if(strcmp(argv[argc-1], "radio")==0)
+ logdevicename = LOGGER_LOG_RADIO;
+ else if(strcmp(argv[argc-1], "system")==0)
+ logdevicename = LOGGER_LOG_SYSTEM;
+ else {
+ printf("wrong input check usage and try again\n");
+ exit(0);
+ }
+
+ log_fd = open(logdevicename,O_RDWR);
+ if (log_fd < 0) {
+ printf("FAIL :Failed to open %s \n",logdevicename);
+ exit(EXIT_FAILURE);
+ } else
+ printf("PASS :Able to open %s logdevice and fd is %d\n", logdevicename,log_fd);
+
+ log_ret = getlogsize(log_fd);
+ if(log_ret < 0) {
+ printf("FAIL : Failed to get %s logdevice size \n ", logdevicename);
+ perror("ioctl:\n");
+ } else
+ printf("PASS : %s logdevice size = %d\n",logdevicename,log_ret);
+ log_ret = getlogreadablesize(log_fd);
+ if(log_ret < 0){
+ printf("FAIL : Failed to get %s logdevice readablesize\n", logdevicename);
+ perror("ioctl:\n");
+ } else
+ printf("PASS : %s logdevice readablesize = %d\n", logdevicename,log_ret);
+ log_ret = getlognextentrysize(log_fd);
+ if(log_ret < 0) {
+ printf("FAIL : Failed to get %s logdevice size of next log entry\n" , logdevicename);
+ perror("ioctl:\n");
+ } else
+ printf("PASS : %s logdevice size of next log entry = %d\n", logdevicename,log_ret);
+
+ log_ret = clearlog(log_fd);
+ if(log_ret) {
+ printf("FAIL : Failed to clear the log of data %s logdevice\n" , logdevicename);
+ perror("ioctl:\n");
+ } else
+ printf("PASS : clears the log of data %s logdevice\n" , logdevicename);
+ close(log_fd);
+ exit(0);
+
+}
+
diff --git a/product.mk b/product.mk
index 3dfbd08..a8fdb45 100644
--- a/product.mk
+++ b/product.mk
@@ -2,6 +2,7 @@
PRODUCT_PACKAGES += alarm-dev-test \
ashmemtest \
ashmemtest-expanded \
+ loggerdevtest \
sync-basic
PRODUCT_COPY_FILES += external/linaro-android-kernel-test/linaro-android-kernel-tests.sh:system/bin/linaro-android-kernel-tests.sh