mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
sci-mathematics/giac: fix and re-enable two disabled tests.
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
This commit is contained in:
@@ -1,35 +0,0 @@
|
||||
From e9ad950f7838921b1d0c85b503d7c9668be663b6 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Orlitzky <michael@orlitzky.com>
|
||||
Date: Thu, 22 Jun 2023 16:57:55 -0400
|
||||
Subject: [PATCH 1/1] check/Makefile.am: disable two failing tests.
|
||||
|
||||
Mentioned on Github at,
|
||||
|
||||
https://github.com/sagemath/sage/pull/35745#issuecomment-1603298668
|
||||
|
||||
For the moment, and without more information, disabling them is the
|
||||
simplest thing to do.
|
||||
---
|
||||
check/Makefile.am | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/check/Makefile.am b/check/Makefile.am
|
||||
index ef0aa03..be1260c 100644
|
||||
--- a/check/Makefile.am
|
||||
+++ b/check/Makefile.am
|
||||
@@ -1,10 +1,10 @@
|
||||
TESTS = chk_integrate \
|
||||
chk_factor chk_normalize chk_partfrac chk_limit \
|
||||
chk_cas chk_geo chk_morley_demo chk_xavier \
|
||||
- chk_fhan1 chk_fhan2 chk_fhan3 chk_fhan4 chk_fhan5 \
|
||||
+ chk_fhan1 chk_fhan2 chk_fhan3 chk_fhan5 \
|
||||
chk_fhan6 chk_fhan8 chk_fhan0 \
|
||||
chk_fhan11 chk_fhan12 chk_fhan13 chk_fhan14 chk_fhan15 \
|
||||
- chk_fhan16 chk_fhan17 chk_fhan19 chk_fhan20 \
|
||||
+ chk_fhan16 chk_fhan19 chk_fhan20 \
|
||||
chk_fhan21 chk_fhan9 chk_fhan18 chk_fhan7
|
||||
EXTRA_DIST = chk_integrate chk_intinda chk_intindbo chk_intindbr \
|
||||
chk_intindc chk_intindj chk_intindm \
|
||||
--
|
||||
2.39.3
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
https://github.com/void-linux/void-packages/blob/master/srcpkgs/giac/patches/giac-pari-2.15-test.patch
|
||||
|
||||
--- a/check/chk_fhan4 2018-03-13 15:27:11.000000000 -0300
|
||||
+++ b/check/chk_fhan4 2022-10-14 18:51:12.604731890 -0300
|
||||
@@ -1,4 +1,5 @@
|
||||
#! /bin/sh
|
||||
unset LANG
|
||||
+export PARI_SIZE=2048000
|
||||
../src/icas TP04-sol.cas > TP04.tst
|
||||
diff TP04.tst TP04-sol.cas.out1
|
||||
@@ -0,0 +1,62 @@
|
||||
From fc0fb5ba02953d6e15424ce3a2d8f5b52380ffb4 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Orlitzky <michael@orlitzky.com>
|
||||
Date: Sun, 25 Jun 2023 13:43:35 -0400
|
||||
Subject: [PATCH 1/1] src/vecteur.cc: fix invalid vector indexing.
|
||||
|
||||
A few places in vector.cc use the construct &buffer[n]-m where
|
||||
"buffer" is an std::vector and "n" its size. This is undefined
|
||||
behavior since the index is outside of the allowed range (0 through
|
||||
n-1). With GLIBCXX_ASSERTIONS enabled, it crashes on the out-of-
|
||||
bounds index.
|
||||
|
||||
The most obvious fix is to use &buffer[n-1]-(m+1), which avoids the
|
||||
issue so long as n >= 1. I think this will always be the case in the
|
||||
affected code, but if I'm wrong, it can be fixed by adding a special
|
||||
case for n == 0.
|
||||
---
|
||||
src/vecteur.cc | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/vecteur.cc b/src/vecteur.cc
|
||||
index 89b1445..c91af66 100644
|
||||
--- a/src/vecteur.cc
|
||||
+++ b/src/vecteur.cc
|
||||
@@ -7998,7 +7998,7 @@ namespace giac {
|
||||
if (convertpos){
|
||||
int C=col+1;
|
||||
longlong * buf=&buffer[C];
|
||||
- longlong * bufend=&buffer[cmax]-8;
|
||||
+ longlong * bufend=&buffer[cmax-1]-7;
|
||||
const int * nline=&Nline[C];
|
||||
for (;buf<=bufend;buf+=8,nline+=8){
|
||||
longlong x,y;
|
||||
@@ -8022,7 +8022,7 @@ namespace giac {
|
||||
else {
|
||||
int C=col+1;
|
||||
longlong * buf=&buffer[C];
|
||||
- longlong * bufend=&buffer[cmax]-8;
|
||||
+ longlong * bufend=&buffer[cmax-1]-7;
|
||||
const int * nline=&Nline[C];
|
||||
for (;buf<=bufend;buf+=8,nline+=8){
|
||||
buf[0] -= coeff*nline[0];
|
||||
@@ -8268,7 +8268,7 @@ namespace giac {
|
||||
}
|
||||
#else
|
||||
int C=col+1;
|
||||
- longlong * ptr= &buffer[C],*ptrend=&buffer[cmax]-4;
|
||||
+ longlong * ptr= &buffer[C],*ptrend=&buffer[cmax-1]-3;
|
||||
const int *ptrN=&Nline[C];
|
||||
for (;ptr<ptrend;ptrN+=4,ptr+=4){
|
||||
longlong x = *ptr;
|
||||
@@ -8300,7 +8300,7 @@ namespace giac {
|
||||
}
|
||||
else {
|
||||
int C=col+1;
|
||||
- longlong * ptr= &buffer[C],*ptrend=&buffer[cmax]-4;
|
||||
+ longlong * ptr= &buffer[C],*ptrend=&buffer[cmax-1] - 3;
|
||||
const int *ptrN=&Nline[C];
|
||||
for (;ptr<ptrend;ptrN+=4,ptr+=4){
|
||||
*ptr -= coeff*(*ptrN);
|
||||
--
|
||||
2.39.3
|
||||
|
||||
@@ -50,7 +50,8 @@ PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.7.0.1-gsl_lapack.patch"
|
||||
"${FILESDIR}/${PN}-1.6.0-pari-2.11.patch"
|
||||
"${FILESDIR}/${PN}-1.9.0.21-pari-2.15.patch"
|
||||
"${FILESDIR}/${PN}-1.9.0.55-disable-failing-tests.patch"
|
||||
"${FILESDIR}/${PN}-1.9.0.55-pari-2.15-test.patch"
|
||||
"${FILESDIR}/${PN}-1.9.0.55-undefined-behavior.patch"
|
||||
)
|
||||
|
||||
REQUIRED_USE="test? ( gui )"
|
||||
|
||||
Reference in New Issue
Block a user