diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2018-03-07 23:33:07 +0200 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2018-04-27 22:53:39 +0300 |
commit | 29ae12bd764e3b1876356e7628a32192b4ec9066 (patch) | |
tree | 858552ed569476b9915fa263f7ab3aa4088417f8 /lib | |
parent | 0350f0e7f6a0e07281445fc3082aa70419f4aac7 (diff) |
tests/kms_properties: Validate properties harder
Make the property validation more thorough:
- validate property flags
- make sure there's an expected number of values/enums
- make sure the possible values make sense
- make sure the current value makes sense
- actually iterate through all planes/crtc/connectors to
check their properties
- make sure encoders don't expose properties while at it
- check that atomic props aren't exposed to non-atomic clients
Still passes on my ivb. Not tested anything else so far.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/igt_aux.h | 2 | ||||
-rw-r--r-- | lib/igt_core.h | 52 |
2 files changed, 54 insertions, 0 deletions
diff --git a/lib/igt_aux.h b/lib/igt_aux.h index faddd478..9bb03b77 100644 --- a/lib/igt_aux.h +++ b/lib/igt_aux.h @@ -390,4 +390,6 @@ static inline bool igt_list_empty(const struct igt_list *list) __builtin_popcountll(x), \ __builtin_popcount(x)) +#define is_power_of_two(x) (((x) & ((x)-1)) == 0) + #endif /* IGT_AUX_H */ diff --git a/lib/igt_core.h b/lib/igt_core.h index 57e97f2b..bf8cd66c 100644 --- a/lib/igt_core.h +++ b/lib/igt_core.h @@ -576,6 +576,32 @@ static inline void igt_ignore_warn(bool value) #define igt_assert_lte(n1, n2) igt_assert_cmpint(n1, <=, >, n2) /** + * igt_assert_lte_u64: + * @n1: first integer + * @n2: second integer + * + * Fails (sub-)test if the second integer is strictly smaller than the first. + * Beware that for now this only works on integers. + * + * Like igt_assert(), but displays the values being compared on failure instead + * of simply printing the stringified expression. + */ +#define igt_assert_lte_u64(n1, n2) igt_assert_cmpu64(n1, <=, >, n2) + +/** + * igt_assert_lte_s64: + * @n1: first integer + * @n2: second integer + * + * Fails (sub-)test if the second integer is strictly smaller than the first. + * Beware that for now this only works on integers. + * + * Like igt_assert(), but displays the values being compared on failure instead + * of simply printing the stringified expression. + */ +#define igt_assert_lte_s64(n1, n2) igt_assert_cmps64(n1, <=, >, n2) + +/** * igt_assert_lt: * @n1: first integer * @n2: second integer @@ -589,6 +615,32 @@ static inline void igt_ignore_warn(bool value) #define igt_assert_lt(n1, n2) igt_assert_cmpint(n1, <, >=, n2) /** + * igt_assert_lt_u64: + * @n1: first integer + * @n2: second integer + * + * Fails (sub-)test if the second integer is smaller than or equal to the first. + * Beware that for now this only works on integers. + * + * Like igt_assert(), but displays the values being compared on failure instead + * of simply printing the stringified expression. + */ +#define igt_assert_lt_u64(n1, n2) igt_assert_cmpu64(n1, <, >=, n2) + +/** + * igt_assert_lt_s64: + * @n1: first integer + * @n2: second integer + * + * Fails (sub-)test if the second integer is smaller than or equal to the first. + * Beware that for now this only works on integers. + * + * Like igt_assert(), but displays the values being compared on failure instead + * of simply printing the stringified expression. + */ +#define igt_assert_lt_s64(n1, n2) igt_assert_cmps64(n1, <, >=, n2) + +/** * igt_assert_fd: * @fd: file descriptor * |