[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAG48ez2A6o423ySWfdX7s3fzrMSVn1YLYk2EnE1dV0fgZQS45g@mail.gmail.com>
Date: Mon, 2 Nov 2020 17:05:02 +0100
From: Jann Horn <jannh@...gle.com>
To: Shuah Khan <shuah@...nel.org>,
Shuah Khan <skhan@...uxfoundation.org>,
"open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@...r.kernel.org>
Cc: Kees Cook <keescook@...omium.org>,
kernel list <linux-kernel@...r.kernel.org>
Subject: ASSERT_GE definition is backwards
ASSERT_GE() is defined as:
/**
* ASSERT_GE(expected, seen)
*
* @expected: expected value
* @seen: measured value
*
* ASSERT_GE(expected, measured): expected >= measured
*/
#define ASSERT_GE(expected, seen) \
__EXPECT(expected, #expected, seen, #seen, >=, 1)
but that means that logically, if you want to write "assert that the
measured PID X is >= the expected value 0", you actually have to use
ASSERT_LE(0, X). That's really awkward. Normally you'd be talking
about how the seen value compares to the expected one, not the other
way around.
At the moment I see tests that are instead written like ASSERT_GE(X,
0), but then that means that the expected and seen values are the
wrong way around.
It might be good if someone could refactor the definitions of
ASSERT_GE and such to swap around which number is the expected and
which is the seen one.
Powered by blists - more mailing lists