Message ID | d1f4073e1dd9a51be93ea9e14ebd746b312646a4.1685428087.git.falcon@tinylab.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | nolibc: add part3 of support for rv32 | expand |
On 2023-05-30 14:42:56+0800, Zhangjin Wu wrote: > These test cases are required to make sure the new added data types are > really 64bit based. > > Signed-off-by: Zhangjin Wu <falcon@tinylab.org> > --- > tools/testing/selftests/nolibc/nolibc-test.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c > index 20d184da9a2b..43ce4d34b596 100644 > --- a/tools/testing/selftests/nolibc/nolibc-test.c > +++ b/tools/testing/selftests/nolibc/nolibc-test.c > @@ -721,6 +721,14 @@ int run_stdlib(int min, int max) > #else > # warning "__SIZEOF_LONG__ is undefined" > #endif /* __SIZEOF_LONG__ */ > + CASE_TEST(sizeof_time_t); EXPECT_EQ(1, 8, sizeof(time_t)); break; > + CASE_TEST(sizeof_timespec); EXPECT_EQ(1, 16, sizeof(struct timespec)); break; > +#ifdef NOLIBC > + CASE_TEST(sizeof_itimerspec); EXPECT_EQ(1, 32, sizeof(struct itimerspec)); break; > +#endif > + CASE_TEST(sizeof_timeval); EXPECT_EQ(1, 16, sizeof(struct timeval)); break; > + CASE_TEST(sizeof_itimerval); EXPECT_EQ(1, 32, sizeof(struct itimerval)); break; > + CASE_TEST(sizeof_off_t); EXPECT_EQ(1, 8, sizeof(off_t)); break; These will break on 32bit glibc configurations. (At least on x86) > case __LINE__: > return ret; /* must be last */ > /* note: do not set any defaults so as to permit holes above */ > -- > 2.25.1 >
> On 2023-05-30 14:42:56+0800, Zhangjin Wu wrote: > > These test cases are required to make sure the new added data types are > > really 64bit based. > > > > Signed-off-by: Zhangjin Wu <falcon@tinylab.org> > > --- > > tools/testing/selftests/nolibc/nolibc-test.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c > > index 20d184da9a2b..43ce4d34b596 100644 > > --- a/tools/testing/selftests/nolibc/nolibc-test.c > > +++ b/tools/testing/selftests/nolibc/nolibc-test.c > > @@ -721,6 +721,14 @@ int run_stdlib(int min, int max) > > #else > > # warning "__SIZEOF_LONG__ is undefined" > > #endif /* __SIZEOF_LONG__ */ > > + CASE_TEST(sizeof_time_t); EXPECT_EQ(1, 8, sizeof(time_t)); break; > > + CASE_TEST(sizeof_timespec); EXPECT_EQ(1, 16, sizeof(struct timespec)); break; > > +#ifdef NOLIBC > > + CASE_TEST(sizeof_itimerspec); EXPECT_EQ(1, 32, sizeof(struct itimerspec)); break; > > +#endif > > + CASE_TEST(sizeof_timeval); EXPECT_EQ(1, 16, sizeof(struct timeval)); break; > > + CASE_TEST(sizeof_itimerval); EXPECT_EQ(1, 32, sizeof(struct itimerval)); break; > > + CASE_TEST(sizeof_off_t); EXPECT_EQ(1, 8, sizeof(off_t)); break; > > These will break on 32bit glibc configurations. > (At least on x86) Yes, I added a big #ifdef at first, but narrowed it down after a default x86_64 gcc+glibc test, 32bit has been ignored from my mind ;-( Will add the big #ifdef back. Thanks, Zhangjin > > > case __LINE__: > > return ret; /* must be last */ > > /* note: do not set any defaults so as to permit holes above */ > > --
diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index 20d184da9a2b..43ce4d34b596 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -721,6 +721,14 @@ int run_stdlib(int min, int max) #else # warning "__SIZEOF_LONG__ is undefined" #endif /* __SIZEOF_LONG__ */ + CASE_TEST(sizeof_time_t); EXPECT_EQ(1, 8, sizeof(time_t)); break; + CASE_TEST(sizeof_timespec); EXPECT_EQ(1, 16, sizeof(struct timespec)); break; +#ifdef NOLIBC + CASE_TEST(sizeof_itimerspec); EXPECT_EQ(1, 32, sizeof(struct itimerspec)); break; +#endif + CASE_TEST(sizeof_timeval); EXPECT_EQ(1, 16, sizeof(struct timeval)); break; + CASE_TEST(sizeof_itimerval); EXPECT_EQ(1, 32, sizeof(struct itimerval)); break; + CASE_TEST(sizeof_off_t); EXPECT_EQ(1, 8, sizeof(off_t)); break; case __LINE__: return ret; /* must be last */ /* note: do not set any defaults so as to permit holes above */
These test cases are required to make sure the new added data types are really 64bit based. Signed-off-by: Zhangjin Wu <falcon@tinylab.org> --- tools/testing/selftests/nolibc/nolibc-test.c | 8 ++++++++ 1 file changed, 8 insertions(+)