summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2018-03-07 23:33:07 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2018-04-27 22:53:39 +0300
commit29ae12bd764e3b1876356e7628a32192b4ec9066 (patch)
tree858552ed569476b9915fa263f7ab3aa4088417f8 /lib
parent0350f0e7f6a0e07281445fc3082aa70419f4aac7 (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.h2
-rw-r--r--lib/igt_core.h52
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
*