pm_rps: Assert that valid sysfs writes return success
authorJeff McGee <jeff.mcgee@intel.com>
Fri, 10 Jan 2014 21:12:31 +0000 (15:12 -0600)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 10 Jan 2014 21:31:51 +0000 (22:31 +0100)
do_writeval now always checks the return value, whether we expect
success or a specific error. Also add new macro writeval_inval to
simplify repeated use of do_writeval to test for EINVAL return code.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
tests/pm_rps.c

index 9123451..69eeb81 100644 (file)
@@ -79,11 +79,18 @@ static int do_writeval(FILE *filp, int val, int lerrno)
        int ret;
        rewind(filp);
        ret = fprintf(filp, "%d", val);
-       if (ret && lerrno)
-               igt_assert(errno = lerrno);
+       if (lerrno) {
+               /* Expecting specific error */
+               igt_assert(ret == EOF && errno == lerrno);
+       } else {
+               /* Expecting no error */
+               igt_assert(ret != EOF);
+       }
+
        return ret;
 }
 #define writeval(filp, val) do_writeval(filp, val, 0)
+#define writeval_inval(filp, val) do_writeval(filp, val, EINVAL)
 
 #define fcur (readval(stuff[CUR].filp))
 #define fmin (readval(stuff[MIN].filp))
@@ -170,16 +177,16 @@ igt_simple_main
        checkit();
 
        /* And some errors */
-       writeval(stuff[MIN].filp, frpn - 1);
-       writeval(stuff[MAX].filp, frp0 + 1000);
+       writeval_inval(stuff[MIN].filp, frpn - 1);
+       writeval_inval(stuff[MAX].filp, frp0 + 1000);
        checkit();
 
-       writeval(stuff[MIN].filp, fmax + 1000);
-       writeval(stuff[MAX].filp, fmin - 1);
+       writeval_inval(stuff[MIN].filp, fmax + 1000);
+       writeval_inval(stuff[MAX].filp, fmin - 1);
        checkit();
 
-       do_writeval(stuff[MIN].filp, 0x11111110, EINVAL);
-       do_writeval(stuff[MAX].filp, 0, EINVAL);
+       writeval_inval(stuff[MIN].filp, 0x11111110);
+       writeval_inval(stuff[MAX].filp, 0);
 
        writeval(stuff[MIN].filp, origmin);
        writeval(stuff[MAX].filp, origmax);