diff options
author | Michał Górny <mgorny@gentoo.org> | 2018-10-28 22:40:28 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-10-28 22:44:11 +0100 |
commit | 99914da67e748f4eceec5a02e9ce603917d50004 (patch) | |
tree | 8cbadfb38118b01880a1f3ada56dc3b51061d3d5 /dev-libs/libgit2 | |
parent | dev-python/cython: Bump to 0.29 (diff) | |
download | gentoo-99914da67e748f4eceec5a02e9ce603917d50004.tar.gz gentoo-99914da67e748f4eceec5a02e9ce603917d50004.tar.bz2 gentoo-99914da67e748f4eceec5a02e9ce603917d50004.zip |
dev-libs/libgit2: Skip OOM tests on 32-bit systems
Closes: https://bugs.gentoo.org/669892
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-libs/libgit2')
-rw-r--r-- | dev-libs/libgit2/files/libgit2-0.26.8-disable-oom-tests-on-32bit.patch | 64 | ||||
-rw-r--r-- | dev-libs/libgit2/libgit2-0.26.8.ebuild | 7 | ||||
-rw-r--r-- | dev-libs/libgit2/libgit2-0.27.7.ebuild | 7 |
3 files changed, 78 insertions, 0 deletions
diff --git a/dev-libs/libgit2/files/libgit2-0.26.8-disable-oom-tests-on-32bit.patch b/dev-libs/libgit2/files/libgit2-0.26.8-disable-oom-tests-on-32bit.patch new file mode 100644 index 000000000000..40be2aee8fdc --- /dev/null +++ b/dev-libs/libgit2/files/libgit2-0.26.8-disable-oom-tests-on-32bit.patch @@ -0,0 +1,64 @@ +From 16b5a7baf67169ff12a9a2de9c2853c6f921317c Mon Sep 17 00:00:00 2001 +From: Edward Thomson <ethomson@edwardthomson.com> +Date: Thu, 13 Sep 2018 13:27:07 +0100 +Subject: [PATCH] tests: don't run buf::oom on 32-bit systems + +On a 32-bit Linux systems, the value large enough to make malloc +guarantee a failure is also large enough that valgrind considers it +"fishy". Skip this test on those systems entirely. + +[rebased for v0.26.8] +--- + tests/buf/oom.c | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/tests/buf/oom.c b/tests/buf/oom.c +index 16a03cc1a..86f5e7239 100644 +--- a/tests/buf/oom.c ++++ b/tests/buf/oom.c +@@ -11,12 +11,8 @@ + */ + #if defined(GIT_ARCH_64) && defined(__linux__) + # define TOOBIG 0x0fffffffffffffff +-#elif defined(__linux__) +-# define TOOBIG 0x0fffffff + #elif defined(GIT_ARCH_64) + # define TOOBIG 0xffffffffffffff00 +-#else +-# define TOOBIG 0xffffff00 + #endif + + /** +@@ -25,13 +21,18 @@ + * will fail. And because the git_buf_grow() wrapper always + * sets mark_oom, the code in git_buf_try_grow() will free + * the internal buffer and set it to git_buf__oom. +- * ++ * + * We initialized the internal buffer to (the static variable) + * git_buf__initbuf. The purpose of this test is to make sure + * that we don't try to free the static buffer. ++ * ++ * Skip this test entirely on 32-bit platforms; a buffer large enough ++ * to guarantee malloc failures is so large that valgrind considers ++ * it likely to be an error. + */ + void test_buf_oom__grow(void) + { ++#ifdef GIT_ARCH_64 + git_buf buf = GIT_BUF_INIT; + + git_buf_clear(&buf); +@@ -40,6 +41,9 @@ void test_buf_oom__grow(void) + cl_assert(git_buf_oom(&buf)); + + git_buf_free(&buf); ++#else ++ cl_skip(); ++#endif + } + + void test_buf_oom__grow_by(void) +-- +2.19.1 + diff --git a/dev-libs/libgit2/libgit2-0.26.8.ebuild b/dev-libs/libgit2/libgit2-0.26.8.ebuild index 3a86d17be96e..825f22936025 100644 --- a/dev-libs/libgit2/libgit2-0.26.8.ebuild +++ b/dev-libs/libgit2/libgit2-0.26.8.ebuild @@ -40,6 +40,13 @@ DEPEND="${RDEPEND} DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md ) +PATCHES=( + # skip OOM tests on 32-bit systems + # https://bugs.gentoo.org/669892 + # https://github.com/libgit2/libgit2/commit/415a8ae9c9b6ac18f0524b6af8e58408b426457d + "${FILESDIR}"/libgit2-0.26.8-disable-oom-tests-on-32bit.patch +) + src_configure() { local mycmakeargs=( -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)" diff --git a/dev-libs/libgit2/libgit2-0.27.7.ebuild b/dev-libs/libgit2/libgit2-0.27.7.ebuild index d39c0a7a0268..3815701da066 100644 --- a/dev-libs/libgit2/libgit2-0.27.7.ebuild +++ b/dev-libs/libgit2/libgit2-0.27.7.ebuild @@ -40,6 +40,13 @@ DEPEND="${RDEPEND} DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md ) +PATCHES=( + # skip OOM tests on 32-bit systems + # https://bugs.gentoo.org/669892 + # https://github.com/libgit2/libgit2/commit/415a8ae9c9b6ac18f0524b6af8e58408b426457d + "${FILESDIR}"/libgit2-0.26.8-disable-oom-tests-on-32bit.patch +) + src_configure() { local mycmakeargs=( -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)" |