osmith has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmocore/+/40864?usp=email )
Change subject: tests: fix for debian 13 armv7l
......................................................................
tests: fix for debian 13 armv7l
In Debian 13 armv7l, time_t and suseconds_t are "long long int" instead
of "long unsigned int" as seen on x86_64 and aarch64. This causes the
the tdef, time_cc and iuup tests to fail. Example:
-sys={0.000000}, clock_override_set
+sys={4206924.000000}, (null)
_tinit_timeout_retrans_transport_prim_cb()
Transport: DL len=22: e0 00 df 99 16 00 51 67 3c 01 27 00 00 82 00 00 00 17 10 00 01
00
-sys={1.000000}, clock_override_set
+sys={4206924.000001}, (null)
_tinit_timeout_retrans_transport_prim_cb()
Transport: DL len=22: e0 00 df 99 16 00 51 67 3c 01 27 00 00 82 00 00 00 17 10 00 01
00
-sys={2.000000}, clock_override_set
+sys={4206924.000002}, (null)
…
Furthermore it causes compiler warnings such as:
iuup/iuup_test.c: In function 'clock_override_set':
iuup/iuup_test.c:169:24: warning: format '%lu' expects argument of type
'long unsigned int', but argument 2 has type '__time64_t' {aka 'long
long int'} [-Wformat=]
169 | printf("sys={%lu.%06lu}, %s\n",
osmo_gettimeofday_override_time.tv_sec,
| ~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| long unsigned int
__time64_t {aka long long int}
| %llu
iuup/iuup_test.c:169:30: warning: format '%lu' expects argument of type
'long unsigned int', but argument 3 has type '__suseconds64_t' {aka
'long long int'} [-Wformat=]
169 | printf("sys={%lu.%06lu}, %s\n",
osmo_gettimeofday_override_time.tv_sec,
| ~~~~^
| |
| long unsigned int
| %06llu
170 | osmo_gettimeofday_override_time.tv_usec, __func__);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| __suseconds64_t {aka long long
int}
CCLD iuup/iuup_test
Fix it by casting to "long unsigned int".
Related: OS#6828
Change-Id: I9580606d66bb0f891c0ef0179f99e2b901a8cf1c
---
M tests/iuup/iuup_test.c
M tests/tdef/tdef_test.c
M tests/time_cc/time_cc_test.c
3 files changed, 5 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/64/40864/1
diff --git a/tests/iuup/iuup_test.c b/tests/iuup/iuup_test.c
index 7798aa2..725a7d9 100644
--- a/tests/iuup/iuup_test.c
+++ b/tests/iuup/iuup_test.c
@@ -163,8 +163,8 @@
{
osmo_gettimeofday_override_time.tv_sec = sec + usec / (1000*1000);
osmo_gettimeofday_override_time.tv_usec = usec % (1000*1000);
- printf("sys={%lu.%06lu}, %s\n", osmo_gettimeofday_override_time.tv_sec,
- osmo_gettimeofday_override_time.tv_usec, __func__);
+ printf("sys={%lu.%06lu}, %s\n", (unsigned int long)
osmo_gettimeofday_override_time.tv_sec,
+ (unsigned int long) osmo_gettimeofday_override_time.tv_usec, __func__);
}
void test_crc(void)
diff --git a/tests/tdef/tdef_test.c b/tests/tdef/tdef_test.c
index 710a4aa..1c2b04d 100644
--- a/tests/tdef/tdef_test.c
+++ b/tests/tdef/tdef_test.c
@@ -335,7 +335,8 @@
}
osmo_timer_remaining(&fi->timer, &osmo_gettimeofday_override_time,
&remaining);
- printf(", %lu.%06lu s remaining\n", remaining.tv_sec, remaining.tv_usec);
+ printf(", %lu.%06lu s remaining\n", (unsigned int long) remaining.tv_sec,
+ (unsigned int long) remaining.tv_usec);
}
diff --git a/tests/time_cc/time_cc_test.c b/tests/time_cc/time_cc_test.c
index e4a5aaf..9d1ab5c 100644
--- a/tests/time_cc/time_cc_test.c
+++ b/tests/time_cc/time_cc_test.c
@@ -165,7 +165,7 @@
osmo_clock_override_add(CLOCK_MONOTONIC, ms / 1000, (uint64_t)(ms % 1000) * 1000000);
\
osmo_gettimeofday_override_add(ms / 1000, (uint64_t)(ms % 1000) * 1000); \
printf("%d ADD_MILLISECS(" #ms ") --> %ld.%03ld",
my_obj.flag_cc_round.flag_state, \
- now->tv_sec, now->tv_nsec/1000000); \
+ (unsigned int long) now->tv_sec, now->tv_nsec/1000000); \
printf("\n"); \
} while (0)
--
To view, visit
https://gerrit.osmocom.org/c/libosmocore/+/40864?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I9580606d66bb0f891c0ef0179f99e2b901a8cf1c
Gerrit-Change-Number: 40864
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>