diff options
-rwxr-xr-x | binder/bindertest.sh | 13 | ||||
-rwxr-xr-x | linaro-android-kernel-tests.sh | 39 | ||||
-rw-r--r-- | logger/Android.mk | 8 | ||||
-rw-r--r-- | logger/logger-dev-test.c | 135 | ||||
-rw-r--r-- | product.mk | 2 |
5 files changed, 190 insertions, 7 deletions
diff --git a/binder/bindertest.sh b/binder/bindertest.sh new file mode 100755 index 0000000..45e5553 --- /dev/null +++ b/binder/bindertest.sh @@ -0,0 +1,13 @@ +#!/system/bin/sh + +chmod 777 /data/nativebenchmark/binderAddInts +if [ -z "$1" ]; then + /data/nativebenchmark/binderAddInts -n 10 +else + /data/nativebenchmark/binderAddInts -n $1 +fi +if [ $? -eq 0 ]; then + echo "[bindertest]: test passed" +else + echo "[bindertest]: test failed" +fi diff --git a/linaro-android-kernel-tests.sh b/linaro-android-kernel-tests.sh index 5cd9cf1..04aabb1 100755 --- a/linaro-android-kernel-tests.sh +++ b/linaro-android-kernel-tests.sh @@ -13,21 +13,21 @@ run_ashmemtest_expanded() for f in $FILES do - BASENAME=`basename $f` + BASENAME=${f##*/} TESTNAME="${BASENAME%.*}" - echo "running $TESTNAME" - OUTPUT=`ashmemtest-expanded $f` - EXPECTED_OUTPUT=`cat $DIR/$TESTNAME.out` + ashmemtest-expanded $f &> $DIR/tmp.out - if [ "$OUTPUT" == "$EXPECTED_OUTPUT" ]; then - echo $OUTPUT + diff $DIR/tmp.out $DIR/$TESTNAME.out > /dev/null + if [ $? -eq 0 ]; then + cat $DIR/tmp.out echo "[$TESTNAME]: test passed" else - echo $OUTPUT + cat $DIR/tmp.out echo "[$TESTNAME]: test failed" fi + rm $DIR/tmp.out done } @@ -43,6 +43,28 @@ 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_binder_test() { + echo "Running binder test." + bindertest.sh +} + run_ashmemtest @@ -50,3 +72,6 @@ run_ashmemtest_expanded run_alarm_dev_test +run_logger_test + +run_binder_test
\ No newline at end of file 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,7 +2,9 @@ PRODUCT_PACKAGES += alarm-dev-test \ ashmemtest \ ashmemtest-expanded \ + loggerdevtest \ sync-basic +PRODUCT_COPY_FILES += external/linaro-android-kernel-test/binder/bindertest.sh:system/bin/bindertest.sh PRODUCT_COPY_FILES += external/linaro-android-kernel-test/linaro-android-kernel-tests.sh:system/bin/linaro-android-kernel-tests.sh # put expanded ashmemtest in/out files on the device filesystem |