Multiple selftests duplicate various clock-related functionality.
Add a new header to collect and deduplicate those.

Signed-off-by: Thomas Weißschuh (Schneider Electric) 
<[email protected]>
---
 tools/testing/selftests/clock-helpers.h | 76 +++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/tools/testing/selftests/clock-helpers.h 
b/tools/testing/selftests/clock-helpers.h
new file mode 100644
index 000000000000..01451f538e71
--- /dev/null
+++ b/tools/testing/selftests/clock-helpers.h
@@ -0,0 +1,76 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef __CLOCK_HELPERS_H
+#define __CLOCK_HELPERS_H
+
+#include <sys/types.h>
+#include <time.h>
+
+#define MSEC_PER_SEC   1000LL
+#define USEC_PER_MSEC  1000LL
+#define NSEC_PER_USEC  1000LL
+#define NSEC_PER_MSEC  1000000LL
+#define USEC_PER_SEC   1000000LL
+#define NSEC_PER_SEC   1000000000LL
+#define PSEC_PER_SEC   1000000000000LL
+#define FSEC_PER_SEC   1000000000000000LL
+
+#ifndef CLOCK_AUX
+#define CLOCK_AUX      16
+#endif
+
+#ifndef MAX_AUX_CLOCKS
+#define MAX_AUX_CLOCKS 8
+#endif
+
+#ifndef CLOCK_AUX_LAST
+#define CLOCK_AUX_LAST (CLOCK_AUX + MAX_AUX_CLOCKS - 1)
+#endif
+
+__attribute__((unused))
+static inline const char *clock_name(clockid_t clockid)
+{
+       switch (clockid) {
+       case CLOCK_REALTIME:
+               return "CLOCK_REALTIME";
+       case CLOCK_MONOTONIC:
+               return "CLOCK_MONOTONIC";
+       case CLOCK_PROCESS_CPUTIME_ID:
+               return "CLOCK_PROCESS_CPUTIME_ID";
+       case CLOCK_THREAD_CPUTIME_ID:
+               return "CLOCK_THREAD_CPUTIME_ID";
+       case CLOCK_MONOTONIC_RAW:
+               return "CLOCK_MONOTONIC_RAW";
+       case CLOCK_REALTIME_COARSE:
+               return "CLOCK_REALTIME_COARSE";
+       case CLOCK_MONOTONIC_COARSE:
+               return "CLOCK_MONOTONIC_COARSE";
+       case CLOCK_BOOTTIME:
+               return "CLOCK_BOOTTIME";
+       case CLOCK_REALTIME_ALARM:
+               return "CLOCK_REALTIME_ALARM";
+       case CLOCK_BOOTTIME_ALARM:
+               return "CLOCK_BOOTTIME_ALARM";
+       case CLOCK_TAI:
+               return "CLOCK_TAI";
+       case CLOCK_AUX + 0:
+               return "CLOCK_AUX0";
+       case CLOCK_AUX + 1:
+               return "CLOCK_AUX1";
+       case CLOCK_AUX + 2:
+               return "CLOCK_AUX2";
+       case CLOCK_AUX + 3:
+               return "CLOCK_AUX3";
+       case CLOCK_AUX + 4:
+               return "CLOCK_AUX4";
+       case CLOCK_AUX + 5:
+               return "CLOCK_AUX5";
+       case CLOCK_AUX + 6:
+               return "CLOCK_AUX6";
+       case CLOCK_AUX + 7:
+               return "CLOCK_AUX7";
+       };
+       return "UNKNOWN_CLOCKID";
+}
+
+#endif /* __CLOCK_HELPERS_H */

-- 
2.55.0


Reply via email to