"Evans, Mark (Tandem)" <[EMAIL PROTECTED]> wrote:
> Hi all,
> 
> I have been lurking on the message board and am in awe of the collective
> wisdom.
> 
> I'm just getting my feet wet learning the internals of SQLite, drinking
> from the proverbial firehose.  I am using cygwin 1.90 as my learning
> platform and I have built SQLite 3.5.0.   I ran 'make test' (quick.test
> suite) and it reports some test failures as follows:
> 
> 41 errors out of 28604 tests
> Failures on these tests: autoinc-6.1 bind-3.1 cast-3.1 cast-3.2 cast-3.4
> cast-3.5 cast-3.6 cast-3.8 cast-3.11 cast-3.12 cast-3.14 cast-3.15
> cast-3.16 cast-3.18 cast-3.21 cast-3.22 cast-3.24 expr-1.102 expr-1.106
> func-18.14 func-18.16 func-18.17 func-18.31 lastinsert-8.1
> lastinsert-9.1 misc1-9.1 misc2-4.1 misc2-4.2 misc2-4.4 misc2-4.5
> misc2-4.6 misc3-3.6 misc3-3.7 misc3-3.8 misc3-3.9 misc3-3.10 misc3-3.11
> misc5-2.2 shared-1.11.9 shared-2.11.9 types-2.1.8
> 
> Should I be surprised by these failures?  
> 
> Taking the first one that failed, autoinc-6.1, it reported:
> 
> autoinc-6.1...
> Expected: [9223372036854775807]
>      Got: [-1]
> 
> The corresonding test code is:
> 
> ifcapable {!rowid32} {
>   do_test autoinc-6.1 {
>     execsql {
>       CREATE TABLE t6(v INTEGER PRIMARY KEY AUTOINCREMENT, w);
>       INSERT INTO t6 VALUES(9223372036854775807,1);
>       SELECT seq FROM main.sqlite_sequence WHERE name='t6';
>     }
>   } 9223372036854775807
> }
> 
> So the SELECT clause returns -1 instead of the expected
> 0x7FFFFFFFFFFFFFFF (MAXLONGLONG), or in other words MAXLONGLONG + 1.
> Should the value returned by SELECT seq ... be the the key value (rowid)
> of the last insert, or, is seq supposed to represent the next rowid
> (autoincrement of last key)?
> 

41 failures out of 28604 isn't bad.  That's a 0.1% failure rate.  If
these are the only problems you are having, your build is probably OK.

If you want to go for 100% pass, the first place I would look is what
version of TCL you are linking against to build the test harness.
You want a later version of 8.4 or any version of 8.5.  I'll bet you
have 8.3, which won't work here.

The other thing you might try to do is *not* use cygwin but instead
use mingw.

Of course, the easiest option by far is to use a Linux box or a Mac. :-)

--
D. Richard Hipp <[EMAIL PROTECTED]>



-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to