Message ID | effd524dc2717f61b6cc8e3d3b75cb0273586919.1556830454.git-series.mac@mcrowe.com |
---|---|
State | New |
Headers | show |
Series | Add new helper functions+macros to libsupport and use them in some nptl tests | expand |
* Mike Crowe: > * support/xclock_gettime.c (xclock_gettime): New file. Provide > clock_gettime wrapper for use in tests that fails the test rather > than returning failure. > > * support/xtime.h: New file to declare xclock_gettime. > > * support/Makefile: Add xclock_gettime.c. > > * support/README: Mention xtime.h. Patch looks good, but the commit message above looks a bit odd (I mean the indentation). Do you have an account on sourceware? If yes, please push this independently of the rest. Thanks, Florian
On Wednesday 08 May 2019 at 15:46:48 +0200, Florian Weimer wrote: > * Mike Crowe: > > * support/xclock_gettime.c (xclock_gettime): New file. Provide > > clock_gettime wrapper for use in tests that fails the test rather > > than returning failure. > > > > * support/xtime.h: New file to declare xclock_gettime. > > > > * support/Makefile: Add xclock_gettime.c. > > > > * support/README: Mention xtime.h. > > Patch looks good, but the commit message above looks a bit odd (I mean > the indentation). I just copied and pasted from the ChangeLog entry, so each line starts with a tab. This seems to be quite common looking through the existing history (e.g. 52faba65f84ee5a8d82ff813bcfa0ee5f4d480cf) but I can reformat it to remove the tab if required. I could also add some explanatory text before the ChangeLog entry if you think that would be better. > Do you have an account on sourceware? If yes, please push this > independently of the rest. No, I do not. Thanks. Mike.
* Mike Crowe: > On Wednesday 08 May 2019 at 15:46:48 +0200, Florian Weimer wrote: >> * Mike Crowe: >> > * support/xclock_gettime.c (xclock_gettime): New file. Provide >> > clock_gettime wrapper for use in tests that fails the test rather >> > than returning failure. >> > >> > * support/xtime.h: New file to declare xclock_gettime. >> > >> > * support/Makefile: Add xclock_gettime.c. >> > >> > * support/README: Mention xtime.h. >> >> Patch looks good, but the commit message above looks a bit odd (I mean >> the indentation). > > I just copied and pasted from the ChangeLog entry, so each line starts with > a tab. This seems to be quite common looking through the existing history > (e.g. 52faba65f84ee5a8d82ff813bcfa0ee5f4d480cf) but I can reformat it to > remove the tab if required. I could also add some explanatory text before > the ChangeLog entry if you think that would be better. Something ate the first tab character, on the initial line. I've fixed it. (I don't think it's Zimbra's fault, it's missing in the web archives as well.) >> Do you have an account on sourceware? If yes, please push this >> independently of the rest. > > No, I do not. Okay, I've pushed it for you. Thanks, Florian
On 08/05/2019 10:46, Florian Weimer wrote: > * Mike Crowe: > >> * support/xclock_gettime.c (xclock_gettime): New file. Provide >> clock_gettime wrapper for use in tests that fails the test rather >> than returning failure. >> >> * support/xtime.h: New file to declare xclock_gettime. >> >> * support/Makefile: Add xclock_gettime.c. >> >> * support/README: Mention xtime.h. > > Patch looks good, but the commit message above looks a bit odd (I mean > the indentation). > > Do you have an account on sourceware? If yes, please push this > independently of the rest. > I can push it for him, I was planning to following up these patches.
On Wednesday 08 May 2019 at 17:00:36 +0200, Florian Weimer wrote: > * Mike Crowe: > > > On Wednesday 08 May 2019 at 15:46:48 +0200, Florian Weimer wrote: > >> * Mike Crowe: > >> > * support/xclock_gettime.c (xclock_gettime): New file. Provide > >> > clock_gettime wrapper for use in tests that fails the test rather > >> > than returning failure. > >> > > >> > * support/xtime.h: New file to declare xclock_gettime. > >> > > >> > * support/Makefile: Add xclock_gettime.c. > >> > > >> > * support/README: Mention xtime.h. > >> > >> Patch looks good, but the commit message above looks a bit odd (I mean > >> the indentation). > > > > I just copied and pasted from the ChangeLog entry, so each line starts with > > a tab. This seems to be quite common looking through the existing history > > (e.g. 52faba65f84ee5a8d82ff813bcfa0ee5f4d480cf) but I can reformat it to > > remove the tab if required. I could also add some explanatory text before > > the ChangeLog entry if you think that would be better. > > Something ate the first tab character, on the initial line. I've fixed > it. (I don't think it's Zimbra's fault, it's missing in the web > archives as well.) You're right. The initial tab is in the file that git series format generated, but either git send-email or my MTA ate it. :( I shall remove the tabs in future to avoid that problem. > >> Do you have an account on sourceware? If yes, please push this > >> independently of the rest. > > > > No, I do not. > > Okay, I've pushed it for you. Thanks! Mike.
diff --git a/ChangeLog b/ChangeLog index 2d1907b..6008265 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2019-05-02 Mike Crowe <mac@mcrowe.com> + + * support/xclock_gettime.c (xclock_gettime): New file. Provide + clock_gettime wrapper for use in tests that fails the test rather + than returning failure. + + * support/xtime.h: New file to declare xclock_gettime. + + * support/Makefile: Add xclock_gettime.c. + + * support/README: Mention xtime.h. + 2019-05-02 Adhemerval Zanella <adhemerval.zanella@linaro.org> [BZ #24506] diff --git a/support/Makefile b/support/Makefile index 574e34c..05865fe 100644 --- a/support/Makefile +++ b/support/Makefile @@ -78,6 +78,7 @@ libsupport-routines = \ xbind \ xcalloc \ xchroot \ + xclock_gettime \ xclose \ xconnect \ xcopy_file_range \ diff --git a/support/README b/support/README index 476cfcd..d82f472 100644 --- a/support/README +++ b/support/README @@ -10,6 +10,7 @@ error. They are declared in these header files: * support.h * xsignal.h * xthread.h +* xtime.h In general, new wrappers should be added to support.h if possible. However, support.h must remain fully compatible with C90 and therefore diff --git a/support/xclock_gettime.c b/support/xclock_gettime.c new file mode 100644 index 0000000..0961e75 --- /dev/null +++ b/support/xclock_gettime.c @@ -0,0 +1,31 @@ +/* clock_gettime with error checking. + Copyright (C) 2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <support/check.h> +#include <support/xtime.h> +#include <support/xthread.h> + +void +xclock_gettime (clockid_t clockid, + struct timespec *ts) +{ + const int ret = clock_gettime (clockid, ts); + if (ret < 0) + FAIL_EXIT1 ("clock_gettime (%d): %m", + clockid); +} diff --git a/support/xtime.h b/support/xtime.h new file mode 100644 index 0000000..68af1a5 --- /dev/null +++ b/support/xtime.h @@ -0,0 +1,33 @@ +/* Support functionality for using time. + Copyright (C) 2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef SUPPORT_TIME_H +#define SUPPORT_TIME_H + +#include <time.h> + +__BEGIN_DECLS + +/* The following functions call the corresponding libc functions and + terminate the process on error. */ + +void xclock_gettime (clockid_t clock, struct timespec *ts); + +__END_DECLS + +#endif /* SUPPORT_TIME_H */