SQLite Forum

SQLITE_OMIT_UTF16 triggers test failure in numcast.test
Login

SQLITE_OMIT_UTF16 triggers test failure in numcast.test

(1) By 0xjnml on 2020-08-26 11:17:20 [link]

The test is probably missing a constraint check.

    sqlite-src-3330000$ cat bug.sh 
    make distclean
    ./configure CFLAGS="-DSQLITE_OMIT_UTF16"
    make testfixture
    cd test
    ../testfixture permutations.test extraquick numcast.test
    sqlite-src-3330000$ ./bug.sh 
    rm -f *.lo *.la *.o sqlite3 libsqlite3.la
    
    ...
    
    numcast-utf8.0...
    ! numcast-utf8.0 expected: [utf8]
    ! numcast-utf8.0 got:      []
    numcast-utf8.1.1... Ok
    numcast-utf8.1.2... Ok
    numcast-utf8.2.1... Ok
    numcast-utf8.2.2... Ok
    numcast-utf8.3.1... Ok
    numcast-utf8.3.2... Ok
    numcast-utf8.4.1... Ok
    numcast-utf8.4.2... Ok
    numcast-utf8.5.1... Ok
    numcast-utf8.5.2... Ok
    numcast-utf8.6.1... Ok
    numcast-utf8.6.2... Ok
    numcast-utf8.7.1... Ok
    numcast-utf8.7.2... Ok
    numcast-utf8.8.1... Ok
    numcast-utf8.8.2... Ok
    numcast-utf16le.0...
    ! numcast-utf16le.0 expected: [utf16le]
    ! numcast-utf16le.0 got:      []
    numcast-utf16le.1.1... Ok
    numcast-utf16le.1.2... Ok
    numcast-utf16le.2.1... Ok
    numcast-utf16le.2.2... Ok
    numcast-utf16le.3.1... Ok
    numcast-utf16le.3.2... Ok
    numcast-utf16le.4.1... Ok
    numcast-utf16le.4.2... Ok
    numcast-utf16le.5.1... Ok
    numcast-utf16le.5.2... Ok
    numcast-utf16le.6.1... Ok
    numcast-utf16le.6.2... Ok
    numcast-utf16le.7.1... Ok
    numcast-utf16le.7.2... Ok
    numcast-utf16le.8.1... Ok
    numcast-utf16le.8.2... Ok
    numcast-utf16be.0...
    ! numcast-utf16be.0 expected: [utf16be]
    ! numcast-utf16be.0 got:      []
    numcast-utf16be.1.1... Ok
    numcast-utf16be.1.2... Ok
    numcast-utf16be.2.1... Ok
    numcast-utf16be.2.2... Ok
    numcast-utf16be.3.1... Ok
    numcast-utf16be.3.2... Ok
    numcast-utf16be.4.1... Ok
    numcast-utf16be.4.2... Ok
    numcast-utf16be.5.1... Ok
    numcast-utf16be.5.2... Ok
    numcast-utf16be.6.1... Ok
    numcast-utf16be.6.2... Ok
    numcast-utf16be.7.1... Ok
    numcast-utf16be.7.2... Ok
    numcast-utf16be.8.1... Ok
    numcast-utf16be.8.2... Ok
    numcast.test-closeallfiles... Ok
    numcast.test-sharedcachesetting... Ok
    Time: numcast.test 8 ms
    Memory used:          now         24  max      57688  max-size      48000
    Allocation count:     now          1  max         71
    Page-cache used:      now          0  max          0  max-size       1032
    Page-cache overflow:  now          0  max       1032
    SQLite 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f
    3 errors out of 54 tests on e5-1650 Linux 64-bit little-endian
    !Failures on these tests: numcast-utf8.0 numcast-utf16le.0 numcast-utf16be.0
    All memory allocations freed - no leaks
    Memory used:          now          0  max      57688  max-size      48000
    Allocation count:     now          0  max         71
    Page-cache used:      now          0  max          0  max-size       1032
    Page-cache overflow:  now          0  max       1032
    Maximum memory usage: 57688 bytes
    Current memory usage: 0 bytes
    Number of malloc()  : -1 calls
    sqlite-src-3330000$

(2) By 0xjnml on 2020-08-26 11:25:17 in reply to 1

Same problem with pragma4.test

    ...
    
    pragma4-1.12.1...
    ! pragma4-1.12.1 expected: [1]
    ! pragma4-1.12.1 got:      [0]
    
    ...

(3) By 0xjnml on 2020-08-26 11:30:09 in reply to 1 [link]

And skipscan5.test

    ...
    
    skipscan5-1.3.18... Ok
    /tmp/sqlite-test-624677444/testfixture: invalid command name "add_test_collate"
        while executing
    "add_test_collate db 0 0 1 "
        ("eval" body line 1)
        invoked from within
    "eval $coll"
        ("foreach" body line 3)
        invoked from within
    "foreach {tn dbenc coll} {
      1 UTF-8   { add_test_collate db 0 0 1 }
      2 UTF-16  { add_test_collate db 1 0 0 }
      3 UTF-8   { add_test_collate db 0 1 0 ..."
        (file "/tmp/sqlite-test-624677444/skipscan5.test" line 76)
        invoked from within
    "source /tmp/sqlite-test-624677444/skipscan5.test"
        invoked from within
    "interp eval tinterp $script"
        (procedure "slave_test_script" line 30)
        invoked from within
    "slave_test_script [list source $zFile] "
        invoked from within
    "time { slave_test_script [list source $zFile] }"
        (procedure "slave_test_file" line 23)
        invoked from within
    "slave_test_file $file"
        (procedure "run_tests" line 19)
        invoked from within
    "run_tests extraquick -presql {} -files {shared3.test writecrash.test vacuum5.test func4.test tkt3731.test upfrom1.test vacuum2.test tkt-2ea2425d34.tes..."
        ("eval" body line 1)
        invoked from within
    "eval run_tests $suite $S $extra"
        (procedure "main" line 33)
        invoked from within
    "main $argv"
        (file "permutations.test" line 1227)
        invoked from within
    "source $argv0"
        invoked from within
    "if {[llength $argv]>=1} {
    set argv0 [lindex $argv 0]
    set argv [lrange $argv 1 end]
    source $argv0
    } else {
    set line {}
    while {![eof stdin]} {
    if {$line..."
        tcl_test.go:119: exit status 1
    --- FAIL: TestTclTest (1.80s)
    FAIL
    exit status 1
    FAIL	modernc.org/sqlite	1.801s
    jnml@e5-1650:~/src/modernc.org/sqlite$

(4) By 0xjnml on 2020-08-26 11:35:05 in reply to 1 [link]

trace3.test

    trace3-8.7...
    ! trace3-8.7 expected: [{} {SELECT a, b FROM t1 WHERE b = 'hi' ORDER BY a;}]
    ! trace3-8.7 got:      [{} {SELECT a, b FROM t1 WHERE b = 123.0 ORDER BY a;}]