public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: jani.nikula@intel.com, Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Daniel Vetter <daniel@ffwll.ch>
Subject: [igt-dev] [UNTESTED RFC] tests: drop openssl dependency in favor of glib sha1 implementation
Date: Tue, 22 Jan 2019 14:59:40 +0200	[thread overview]
Message-ID: <20190122125940.13898-1-jani.nikula@intel.com> (raw)

We already depend on glib which has sha1, so we don't really need
openssl just for sha1.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

---

Untested.
---
 configure.ac                   |  1 -
 lib/meson.build                |  1 -
 meson.build                    |  1 -
 tests/Makefile.am              |  4 +--
 tests/i915/gem_userptr_blits.c | 51 +++++++++++++++++++++-------------
 5 files changed, 33 insertions(+), 25 deletions(-)

diff --git a/configure.ac b/configure.ac
index 73064fb92b30..e169d6675e3e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -121,7 +121,6 @@ PKG_CHECK_MODULES(KMOD, [libkmod])
 PKG_CHECK_MODULES(PROCPS, [libprocps])
 PKG_CHECK_MODULES(LIBUNWIND, [libunwind])
 PKG_CHECK_MODULES(LIBDW, [libdw])
-PKG_CHECK_MODULES(SSL, [openssl])
 PKG_CHECK_MODULES(VALGRIND, [valgrind], [have_valgrind=yes], [have_valgrind=no])
 
 if test x$have_valgrind = xyes; then
diff --git a/lib/meson.build b/lib/meson.build
index a3b24ea05fa3..dd36f818033c 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -67,7 +67,6 @@ lib_deps = [
 	pixman,
 	pthreads,
 	realtime,
-	ssl,
 	zlib
 ]
 
diff --git a/meson.build b/meson.build
index 469723dc4633..b17e67ef7f05 100644
--- a/meson.build
+++ b/meson.build
@@ -149,7 +149,6 @@ endif
 build_info += 'With libunwind: ' + libunwindinfo
 
 libdw = dependency('libdw', required : true)
-ssl = dependency('openssl', required : true)
 pixman = dependency('pixman-1', required : true)
 
 valgrind = null_dep
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 48d77535b6bd..803a48615676 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -133,8 +133,8 @@ gem_tiled_swapping_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 gem_tiled_swapping_LDADD = $(LDADD) -lpthread
 prime_self_import_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
 prime_self_import_LDADD = $(LDADD) -lpthread
-gem_userptr_blits_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) $(SSL_CFLAGS)
-gem_userptr_blits_LDADD = $(LDADD) $(SSL_LIBS) -lpthread
+gem_userptr_blits_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS)
+gem_userptr_blits_LDADD = $(LDADD) -lpthread
 perf_pmu_LDADD = $(LDADD) $(top_builddir)/lib/libigt_perf.la
 
 gem_eio_LDADD = $(LDADD) -lrt
diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
index 99049267fcaf..8f8ddf43accf 100644
--- a/tests/i915/gem_userptr_blits.c
+++ b/tests/i915/gem_userptr_blits.c
@@ -47,7 +47,7 @@
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <sys/mman.h>
-#include <openssl/sha.h>
+#include <glib.h>
 #include <signal.h>
 #include <pthread.h>
 #include <time.h>
@@ -1069,7 +1069,6 @@ static void store_dword_rand(int i915, unsigned int engine,
 
 static void test_readonly(int i915)
 {
-	unsigned char orig[SHA_DIGEST_LENGTH];
 	uint64_t aperture_size;
 	uint32_t whandle, rhandle;
 	size_t sz, total;
@@ -1140,39 +1139,47 @@ static void test_readonly(int i915)
 	/* Now enforce read-only henceforth */
 	igt_assert(mprotect(space, total, PROT_READ) == 0);
 
-	SHA1(pages, sz, orig);
 	igt_fork(child, 1) {
 		unsigned int engine;
+		char *orig;
+
+		orig = g_compute_checksum_for_data(G_CHECKSUM_SHA1, pages, sz);
 
 		gem_userptr(i915, space, total, true, userptr_flags, &rhandle);
 
 		for_each_engine(i915, engine) {
-			unsigned char ref[SHA_DIGEST_LENGTH];
-			unsigned char result[SHA_DIGEST_LENGTH];
+			char *ref, *result;
 
 			/* First tweak the backing store through the write */
 			store_dword_rand(i915, engine, whandle, sz, 1024);
 			gem_sync(i915, whandle);
-			SHA1(pages, sz, ref);
+			ref = g_compute_checksum_for_data(G_CHECKSUM_SHA1,
+							  pages, sz);
 
 			/* Check some writes did land */
-			igt_assert(memcmp(ref, orig, sizeof(ref)));
-			memcpy(orig, ref, sizeof(orig));
+			igt_assert(strcmp(ref, orig));
 
 			/* Now try the same through the read-only handle */
 			store_dword_rand(i915, engine, rhandle, total, 1024);
 			gem_sync(i915, rhandle);
-			SHA1(pages, sz, result);
+			result = g_compute_checksum_for_data(G_CHECKSUM_SHA1,
+							     pages, sz);
 
 			/*
 			 * As the writes into the read-only GPU bo should fail,
 			 * the SHA1 hash of the backing store should be
 			 * unaffected.
 			 */
-			igt_assert(memcmp(ref, result, SHA_DIGEST_LENGTH) == 0);
+			igt_assert(strcmp(ref, result) == 0);
+
+			g_free(result);
+			g_free(orig);
+			orig = ref;
 		}
 
 		gem_close(i915, rhandle);
+
+		g_free(orig);
 	}
 	igt_waitchildren();
 
@@ -1189,8 +1196,7 @@ static void sigjmp_handler(int sig)
 
 static void test_readonly_mmap(int i915)
 {
-	unsigned char original[SHA_DIGEST_LENGTH];
-	unsigned char result[SHA_DIGEST_LENGTH];
+	char *original, *result;
 	uint32_t handle;
 	uint32_t sz;
 	void *pages;
@@ -1216,7 +1222,7 @@ static void test_readonly_mmap(int i915)
 
 	memset(pages, 0xa5, sz);
 	igt_clflush_range(pages, sz);
-	SHA1(pages, sz, original);
+	original = g_compute_checksum_for_data(G_CHECKSUM_SHA1, pages, sz);
 
 	ptr = __gem_mmap__gtt(i915, handle, sz, PROT_WRITE);
 	igt_assert(ptr == NULL);
@@ -1249,16 +1255,18 @@ static void test_readonly_mmap(int i915)
 
 	/* Double check that the kernel did indeed not let any writes through */
 	igt_clflush_range(pages, sz);
-	SHA1(pages, sz, result);
-	igt_assert(!memcmp(original, result, sizeof(original)));
+	result = g_compute_checksum_for_data(G_CHECKSUM_SHA1, pages, sz);
+	igt_assert(!strcmp(original, result));
+
+	g_free(original);
+	g_free(result);
 
 	munmap(pages, sz);
 }
 
 static void test_readonly_pwrite(int i915)
 {
-	unsigned char original[SHA_DIGEST_LENGTH];
-	unsigned char result[SHA_DIGEST_LENGTH];
+	char *original, *result;
 	uint32_t handle;
 	uint32_t sz;
 	void *pages;
@@ -1277,7 +1285,7 @@ static void test_readonly_pwrite(int i915)
 
 	igt_require(__gem_userptr(i915, pages, sz, true, userptr_flags, &handle) == 0);
 	memset(pages, 0xa5, sz);
-	SHA1(pages, sz, original);
+	original = g_compute_checksum_for_data(G_CHECKSUM_SHA1, pages, sz);
 
 	for (int page = 0; page < 16; page++) {
 		char data[4096];
@@ -1288,8 +1296,11 @@ static void test_readonly_pwrite(int i915)
 
 	gem_close(i915, handle);
 
-	SHA1(pages, sz, result);
-	igt_assert(!memcmp(original, result, sizeof(original)));
+	result = g_compute_checksum_for_data(G_CHECKSUM_SHA1, pages, sz);
+	igt_assert(!strcmp(original, result));
+
+	g_free(original);
+	g_free(result);
 
 	munmap(pages, sz);
 }
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

             reply	other threads:[~2019-01-22 12:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-22 12:59 Jani Nikula [this message]
2019-01-22 13:07 ` [igt-dev] [UNTESTED RFC] tests: drop openssl dependency in favor of glib sha1 implementation Chris Wilson
2019-01-23  7:56   ` Jani Nikula
2019-01-22 13:35 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2019-01-22 18:33 ` [igt-dev] ✓ Fi.CI.BAT: success for tests: drop openssl dependency in favor of glib sha1 implementation (rev2) Patchwork
2019-01-22 19:57 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190122125940.13898-1-jani.nikula@intel.com \
    --to=jani.nikula@intel.com \
    --cc=daniel@ffwll.ch \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=tomi.valkeinen@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox