Message ID | 20181130163323.23739-1-ross.burton@intel.com |
---|---|
State | Accepted |
Commit | acc32faa137f7df13d1f1b74c28a562414587e70 |
Headers | show |
Series | tests: only run rounding tests if FE_UPWARD is present | expand |
On Friday, 2018-11-30 16:33:23 +0000, Ross Burton wrote: > On ARM, musl does not define FE_* when the architecture does not have VFP (which > is the right interpretation). > > As these tests depend on calling fesetround(), skip the test if FE_UPWARD isn't > available. > > Signed-off-by: Ross Burton <ross.burton@intel.com> Maybe add to the commit message when pushing: From the fesetround(3) man page: > Each of the macros FE_TONEAREST, FE_UPWARD, FE_DOWNWARD, and > FE_TOWARDZERO is defined when the implementation supports getting > and setting the corresponding rounding direction. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> > --- > tests/general/roundmode-getintegerv.c | 12 ++++++++---- > tests/general/roundmode-pixelstore.c | 12 ++++++++---- > 2 files changed, 16 insertions(+), 8 deletions(-) > > diff --git a/tests/general/roundmode-getintegerv.c b/tests/general/roundmode-getintegerv.c > index 28ecfaf55..aa99044a1 100644 > --- a/tests/general/roundmode-getintegerv.c > +++ b/tests/general/roundmode-getintegerv.c > @@ -79,13 +79,17 @@ test(float val, int expect) > void > piglit_init(int argc, char **argv) > { > - int ret; > bool pass = true; > - ret = fesetround(FE_UPWARD); > - if (ret != 0) { > - printf("Couldn't set rounding mode\n"); > + > +#ifdef FE_UPWARD > + if (fesetround(FE_UPWARD) != 0) { > + printf("Setting rounding mode failed\n"); > piglit_report_result(PIGLIT_SKIP); > } > +#else > + printf("Cannot set rounding mode\n"); > + piglit_report_result(PIGLIT_SKIP); > +#endif > > pass = test(2.2, 2) && pass; > pass = test(2.8, 3) && pass; > diff --git a/tests/general/roundmode-pixelstore.c b/tests/general/roundmode-pixelstore.c > index 8a029b257..57ec11c09 100644 > --- a/tests/general/roundmode-pixelstore.c > +++ b/tests/general/roundmode-pixelstore.c > @@ -79,13 +79,17 @@ test(float val, int expect) > void > piglit_init(int argc, char **argv) > { > - int ret; > bool pass = true; > - ret = fesetround(FE_UPWARD); > - if (ret != 0) { > - printf("Couldn't set rounding mode\n"); > + > +#ifdef FE_UPWARD > + if (fesetround(FE_UPWARD) != 0) { > + printf("Setting rounding mode failed\n"); > piglit_report_result(PIGLIT_SKIP); > } > +#else > + printf("Cannot set rounding mode\n"); > + piglit_report_result(PIGLIT_SKIP); > +#endif > > pass = test(2.2, 2) && pass; > pass = test(2.8, 3) && pass; > -- > 2.11.0 > > _______________________________________________ > Piglit mailing list > Piglit@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/piglit
On Fri, 30 Nov 2018 at 17:44, Eric Engestrom <eric.engestrom@intel.com> wrote: > On Friday, 2018-11-30 16:33:23 +0000, Ross Burton wrote: > > On ARM, musl does not define FE_* when the architecture does not have VFP (which > > is the right interpretation). > > > > As these tests depend on calling fesetround(), skip the test if FE_UPWARD isn't > > available. > > > > Signed-off-by: Ross Burton <ross.burton@intel.com> > > Maybe add to the commit message when pushing: > > From the fesetround(3) man page: > > Each of the macros FE_TONEAREST, FE_UPWARD, FE_DOWNWARD, and > > FE_TOWARDZERO is defined when the implementation supports getting > > and setting the corresponding rounding direction. > > Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> I can revise the message and re-submit, but I can't push to piglit. Ross
On Friday, 2018-11-30 18:31:16 +0000, Burton, Ross wrote: > On Fri, 30 Nov 2018 at 17:44, Eric Engestrom <eric.engestrom@intel.com> wrote: > > On Friday, 2018-11-30 16:33:23 +0000, Ross Burton wrote: > > > On ARM, musl does not define FE_* when the architecture does not have VFP (which > > > is the right interpretation). > > > > > > As these tests depend on calling fesetround(), skip the test if FE_UPWARD isn't > > > available. > > > > > > Signed-off-by: Ross Burton <ross.burton@intel.com> > > > > Maybe add to the commit message when pushing: > > > > From the fesetround(3) man page: > > > Each of the macros FE_TONEAREST, FE_UPWARD, FE_DOWNWARD, and > > > FE_TOWARDZERO is defined when the implementation supports getting > > > and setting the corresponding rounding direction. > > > > Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> > > I can revise the message and re-submit, but I can't push to piglit. It's fine, I'll do that when I push it on Monday, unless someone beats me to it :P > > Ross
diff --git a/tests/general/roundmode-getintegerv.c b/tests/general/roundmode-getintegerv.c index 28ecfaf55..aa99044a1 100644 --- a/tests/general/roundmode-getintegerv.c +++ b/tests/general/roundmode-getintegerv.c @@ -79,13 +79,17 @@ test(float val, int expect) void piglit_init(int argc, char **argv) { - int ret; bool pass = true; - ret = fesetround(FE_UPWARD); - if (ret != 0) { - printf("Couldn't set rounding mode\n"); + +#ifdef FE_UPWARD + if (fesetround(FE_UPWARD) != 0) { + printf("Setting rounding mode failed\n"); piglit_report_result(PIGLIT_SKIP); } +#else + printf("Cannot set rounding mode\n"); + piglit_report_result(PIGLIT_SKIP); +#endif pass = test(2.2, 2) && pass; pass = test(2.8, 3) && pass; diff --git a/tests/general/roundmode-pixelstore.c b/tests/general/roundmode-pixelstore.c index 8a029b257..57ec11c09 100644 --- a/tests/general/roundmode-pixelstore.c +++ b/tests/general/roundmode-pixelstore.c @@ -79,13 +79,17 @@ test(float val, int expect) void piglit_init(int argc, char **argv) { - int ret; bool pass = true; - ret = fesetround(FE_UPWARD); - if (ret != 0) { - printf("Couldn't set rounding mode\n"); + +#ifdef FE_UPWARD + if (fesetround(FE_UPWARD) != 0) { + printf("Setting rounding mode failed\n"); piglit_report_result(PIGLIT_SKIP); } +#else + printf("Cannot set rounding mode\n"); + piglit_report_result(PIGLIT_SKIP); +#endif pass = test(2.2, 2) && pass; pass = test(2.8, 3) && pass;
On ARM, musl does not define FE_* when the architecture does not have VFP (which is the right interpretation). As these tests depend on calling fesetround(), skip the test if FE_UPWARD isn't available. Signed-off-by: Ross Burton <ross.burton@intel.com> --- tests/general/roundmode-getintegerv.c | 12 ++++++++---- tests/general/roundmode-pixelstore.c | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-)