diff options
author | Axel Fagerstedt <axel.fagerstedt@linaro.org> | 2013-02-22 17:01:17 +0100 |
---|---|---|
committer | Axel Fagerstedt <axel.fagerstedt@linaro.org> | 2013-02-25 13:12:32 +0100 |
commit | 423588938225bc69132c15a0092e62ecd295f033 (patch) | |
tree | c82af60cbcefa28d7652e91ff482fa165c3197f5 | |
parent | 69ced41d78cabe393d2faddd6a2c1c120df698bd (diff) | |
download | linaro-android-kernel-test-423588938225bc69132c15a0092e62ecd295f033.tar.gz |
Add logger test case
-rwxr-xr-x | linaro-android-kernel-tests.sh | 18 | ||||
-rw-r--r-- | logger/Android.mk | 8 | ||||
-rw-r--r-- | logger/logger-dev-test.c | 135 | ||||
-rw-r--r-- | product.mk | 1 |
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); + +} + @@ -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 |