diff options
author | Kalesh Singh <kaleshsingh@google.com> | 2020-09-01 23:02:08 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-09-01 23:02:08 +0000 |
commit | 3a328c7680b6bfe873623bd8017982c65ef4d997 (patch) | |
tree | 69ee8ab74ad322a497b503d2cb17d718f7b691a8 | |
parent | 6c69848e395b459add34d345fd2a1bb8dad6f395 (diff) | |
parent | 243ec140aa204ffc1da365bb54ada29fd0ddce4e (diff) | |
download | linux-kselftest-3a328c7680b6bfe873623bd8017982c65ef4d997.tar.gz |
VTS: kselftest rtctest am: 7b7fc39a3b am: 9be42dbeca am: 22ad13f4c1 am: 243ec140aa
Original change: https://android-review.googlesource.com/c/platform/external/linux-kselftest/+/1416090
Change-Id: If8582263ec09e7330aa002c4dca93fd7f725820d
-rw-r--r-- | tools/testing/selftests/rtc/rtctest.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/testing/selftests/rtc/rtctest.c b/tools/testing/selftests/rtc/rtctest.c index 92c403558dc5..44cd1b652619 100644 --- a/tools/testing/selftests/rtc/rtctest.c +++ b/tools/testing/selftests/rtc/rtctest.c @@ -5,11 +5,13 @@ * Copyright (c) 2018 Alexandre Belloni <alexandre.belloni@bootlin.com> */ +#include <dirent.h> #include <errno.h> #include <fcntl.h> #include <linux/rtc.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <sys/ioctl.h> #include <sys/time.h> #include <sys/types.h> @@ -23,6 +25,25 @@ static char *rtc_file = "/dev/rtc0"; +/* Returns 1 if file matching /dev/rtc* is found, else 0. */ +static int has_rtc(void) +{ + DIR *dev_dir; + struct dirent *dir; + + dev_dir = opendir("/dev"); + if (!dev_dir) + return 0; + while ((dir = readdir(dev_dir))) { + if (!strncmp(dir->d_name, "rtc", 3)) { + closedir(dev_dir); + return 1; + } + } + closedir(dev_dir); + return 0; +} + FIXTURE(rtc) { int fd; }; @@ -40,6 +61,9 @@ TEST_F(rtc, date_read) { int rc; struct rtc_time rtc_tm; + if (!has_rtc()) + return; + /* Read the RTC time/date */ rc = ioctl(self->fd, RTC_RD_TIME, &rtc_tm); ASSERT_NE(-1, rc); |