commit:     339ebb6495f1bd6f9baf0293f7a6e2ae938eea47
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Thu Sep 28 15:34:57 2017 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu Sep 28 17:10:59 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=339ebb64

dev-db/sqlite: Fix tests on big-endian architectures (bug #630818).

 ...lite-3.20.1-full_tarball-tests-big-endian.patch | 95 ++++++++++++++++++++++
 dev-db/sqlite/sqlite-3.20.1-r1.ebuild              |  1 +
 2 files changed, 96 insertions(+)

diff --git 
a/dev-db/sqlite/files/sqlite-3.20.1-full_tarball-tests-big-endian.patch 
b/dev-db/sqlite/files/sqlite-3.20.1-full_tarball-tests-big-endian.patch
new file mode 100644
index 00000000000..427021d2f7b
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-3.20.1-full_tarball-tests-big-endian.patch
@@ -0,0 +1,95 @@
+https://www.sqlite.org/src/info/87ccdf9cbb928455
+
+--- test/fts3conf.test
++++ test/fts3conf.test
+@@ -136,47 +136,49 @@
+ do_execsql_test 2.2.3 { SELECT * FROM t1 } {{a b c} {a b c}}
+ fts3_integrity 2.2.4 db t1
+ 
+-do_execsql_test 3.1 {
+-  CREATE VIRTUAL TABLE t3 USING fts4;
+-  REPLACE INTO t3(docid, content) VALUES (1, 'one two');
+-  SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'one'
+-} {X'0100000002000000'}
+-
+-do_execsql_test 3.2 {
+-  REPLACE INTO t3(docid, content) VALUES (2, 'one two three four');
+-  SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'four'
+-} {X'0200000003000000'}
+-
+-do_execsql_test 3.3 {
+-  REPLACE INTO t3(docid, content) VALUES (1, 'one two three four five six');
+-  SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'six'
+-} {X'0200000005000000'}
+-
+-do_execsql_test 3.4 {
+-  UPDATE OR REPLACE t3 SET docid = 2 WHERE docid=1;
+-  SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'six'
+-} {X'0100000006000000'}
+-
+-do_execsql_test 3.5 {
+-  UPDATE OR REPLACE t3 SET docid = 3 WHERE docid=2;
+-  SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'six'
+-} {X'0100000006000000'}
+-
+-do_execsql_test 3.6 {
+-  REPLACE INTO t3(docid, content) VALUES (3, 'one two');
+-  SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'one'
+-} {X'0100000002000000'}
+-
+-do_execsql_test 3.7 {
+-  REPLACE INTO t3(docid, content) VALUES (NULL, 'one two three four');
+-  REPLACE INTO t3(docid, content) VALUES (NULL, 'one two three four five 
six');
+-  SELECT docid FROM t3;
+-} {3 4 5}
+-
+-do_execsql_test 3.8 {
+-  UPDATE OR REPLACE t3 SET docid = 5, content='three four' WHERE docid = 4;
+-  SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'one'
+-} {X'0200000002000000'}
++if {$tcl_platform(byteOrder)=="littleEndian"} {
++  do_execsql_test 3.1 {
++    CREATE VIRTUAL TABLE t3 USING fts4;
++    REPLACE INTO t3(docid, content) VALUES (1, 'one two');
++    SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'one'
++  } {X'0100000002000000'}
++  
++  do_execsql_test 3.2 {
++    REPLACE INTO t3(docid, content) VALUES (2, 'one two three four');
++    SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'four'
++  } {X'0200000003000000'}
++  
++  do_execsql_test 3.3 {
++    REPLACE INTO t3(docid, content) VALUES (1, 'one two three four five six');
++    SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'six'
++  } {X'0200000005000000'}
++  
++  do_execsql_test 3.4 {
++    UPDATE OR REPLACE t3 SET docid = 2 WHERE docid=1;
++    SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'six'
++  } {X'0100000006000000'}
++  
++  do_execsql_test 3.5 {
++    UPDATE OR REPLACE t3 SET docid = 3 WHERE docid=2;
++    SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'six'
++  } {X'0100000006000000'}
++  
++  do_execsql_test 3.6 {
++    REPLACE INTO t3(docid, content) VALUES (3, 'one two');
++    SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'one'
++  } {X'0100000002000000'}
++  
++  do_execsql_test 3.7 {
++    REPLACE INTO t3(docid, content) VALUES(NULL,'one two three four');
++    REPLACE INTO t3(docid, content) VALUES(NULL,'one two three four five 
six');
++    SELECT docid FROM t3;
++  } {3 4 5}
++  
++  do_execsql_test 3.8 {
++    UPDATE OR REPLACE t3 SET docid = 5, content='three four' WHERE docid = 4;
++    SELECT quote(matchinfo(t3, 'na')) FROM t3 WHERE t3 MATCH 'one'
++  } {X'0200000002000000'}
++}
+ 
+ #-------------------------------------------------------------------------
+ # Test that the xSavepoint is invoked correctly if the first write 

diff --git a/dev-db/sqlite/sqlite-3.20.1-r1.ebuild 
b/dev-db/sqlite/sqlite-3.20.1-r1.ebuild
index 7b6ce7814c0..137b7b0eeb2 100644
--- a/dev-db/sqlite/sqlite-3.20.1-r1.ebuild
+++ b/dev-db/sqlite/sqlite-3.20.1-r1.ebuild
@@ -51,6 +51,7 @@ src_prepare() {
        if full_tarball; then
                eapply -p0 "${FILESDIR}/${PN}-3.20.0-full_tarball-build.patch"
                eapply -p0 
"${FILESDIR}/${PN}-3.20.1-full_tarball-csv-unsigned_char.patch"
+               eapply -p0 
"${FILESDIR}/${PN}-3.20.1-full_tarball-tests-big-endian.patch"
 
                eapply_user
 

Reply via email to