Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | To avoid test naming conflicts with the unit test suite for Eagle itself, the unit test names in basic.eagle should not start with 'basic-'. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
bd63eac6387c034fc1f3259a9323eca2 |
User & Date: | mistachkin 2011-12-05 02:27:54 |
Context
2011-12-08
| ||
00:46 | Correct the included version of the core SQLite library on the downloads page. check-in: 8f1fe8ee39 user: mistachkin tags: trunk | |
2011-12-05
| ||
02:27 | To avoid test naming conflicts with the unit test suite for Eagle itself, the unit test names in basic.eagle should not start with 'basic-'. check-in: bd63eac638 user: mistachkin tags: trunk | |
2011-11-30
| ||
00:34 | Recognize the TIMESTAMP column data type as a DateTime object. Fix for ticket [bb4b04d457]. check-in: e96f0d17a5 user: mistachkin tags: trunk | |
Changes
Changes to Tests/basic.eagle.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 .. 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 ... 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 ... 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 ... 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 ... 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 ... 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 ... 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 ... 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 ... 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 ... 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 ... 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 ... 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 |
if {![haveConstraint [appendArgs file_ [file tail $testLinqOutFile]]]} then { checkForFile $test_channel $testLinqOutFile } ############################################################################### runTest {test basic-1.1 {unit tests from the 'test' project} -setup { catch {file delete [file join [file dirname $testExeFile] Test.db3]} } -body { set output "" set code [catch { testClrExec $testExeFile [list -eventflags Wait -directory \ [file dirname $testExeFile] -stdout output -success 0] -autoRun ................................................................................ list $code [expr {$code == 0 ? "" : $error}] } -cleanup { unset -nocomplain code output error } -constraints {eagle file_test.exe} -result {0 {}}} ############################################################################### runTest {test basic-1.2 {unit tests from the 'testlinq' project} -setup { # # NOTE: Re-copy the reference database file used for this unit test to the # build directory in case it has been changed by a previous test run. # file copy -force $northwindEfDbFile \ [file join [getBuildDirectory] [file tail $northwindEfDbFile]] ................................................................................ unset -nocomplain code output error savedEncoding encoding } -constraints \ {eagle monoToDo file_testlinq.exe file_northwindEF.db file_testlinq.out} \ -result {0 True {}}} ############################################################################### runTest {test basic-1.3 {SELECT scalar/reader, CREATE, INSERT} -setup { setupDb [set fileName basic-1.3.db] } -body { set result [list] lappend result [sql execute -execute scalar $db \ "SELECT sqlite_source_id();"] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y, z);" ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^\{\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} [0-9a-f]{40}\}\ \{1 \{\{x 1\} \{y foo\} \{z 1234\}\}\} \{count 1\} \{names \{x y z\}\}$}} ############################################################################### runTest {test basic-1.4 {GetSchema with ReservedWords} -setup { setupDb [set fileName basic-1.4.db] } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] basic-1.4.db] unset -nocomplain results errors set code [compileCSharpWith [subst { using System.Data; using System.Data.SQLite; ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ System#Data#DataTable#\d+$}} ############################################################################### runTest {test basic-1.5 {GetSchema with ForeignKeys} -setup { setupDb [set fileName basic-1.5.db] } -body { sql execute $db { CREATE TABLE t1( x INTEGER REFERENCES t2 MATCH FULL ON UPDATE SET DEFAULT ON DELETE CASCADE DEFAULT 1 ); } sql execute $db "CREATE TABLE t2(x INTEGER REFERENCES t3);" set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] basic-1.5.db] unset -nocomplain results errors set code [compileCSharpWith [subst { using System.Data; using System.Data.SQLite; ................................................................................ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ \{\{main FK_t1_0 main t1 \{FOREIGN KEY\} False False x main t2 \{\} 0 \{SET\ DEFAULT\} CASCADE NONE\} \{main FK_t2_0 main t2 \{FOREIGN KEY\} False False x\ main t3 \{\} 0 \{NO ACTION\} \{NO ACTION\} NONE\}\}$}} ############################################################################### runTest {test basic-1.6 {SQLITE_FCNTL_WIN32_AV_RETRY} -setup { setupDb [set fileName basic-1.6.db] } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] basic-1.6.db] unset -nocomplain results errors set code [compileCSharpWith [subst { using System.Data; using System.Data.SQLite; ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ True$}} ############################################################################### runTest {test basic-1.7 {properly closed database file (non-query)} -setup { set fileName basic-1.7.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] $fileName] set sql { \ BEGIN EXCLUSIVE TRANSACTION; \ CREATE TABLE t1(x INTEGER); \ ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ \{\} \{\}$}} ############################################################################### runTest {test basic-1.8 {properly closed database file (reader #1)} -setup { set fileName basic-1.8.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] $fileName] set sql { \ BEGIN EXCLUSIVE TRANSACTION; \ CREATE TABLE t1(x INTEGER); \ ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ \{\} \{\}$}} ############################################################################### runTest {test basic-1.9 {properly closed database file (reader #2)} -setup { set fileName basic-1.9.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] $fileName] set sql { \ BEGIN EXCLUSIVE TRANSACTION; \ CREATE TABLE t1(x INTEGER); \ ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ \{\} \{\}$}} ############################################################################### runTest {test basic-1.10 {Changes property} -setup { setupDb [set fileName basic-1.10.db] } -body { set connection [object invoke -flags +NonPublic -objectflags +NoDispose \ Interpreter.GetActive.connections Item $db] set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y, z);" ................................................................................ unset -nocomplain name rows result connection db fileName } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -result {1 2 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar} {z 5678}}}}} ############################################################################### runTest {test basic-1.11 {LastInsertRowId property} -setup { setupDb [set fileName basic-1.11.db] } -body { set connection [object invoke -flags +NonPublic -objectflags +NoDispose \ Interpreter.GetActive.connections Item $db] set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y, z);" ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -result {0 1 2 2 1 2 2 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar}\ {z 5678}}} 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar} {z 5678}}}}} ############################################################################### runTest {test basic-1.12 {DateTime using Unix epoch} -setup { setupDb [set fileName basic-1.12.db] "" UnixEpoch Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" sql execute $db "INSERT INTO t1 (x, y) VALUES(1, 1302825600);" sql execute $db "INSERT INTO t1 (x, y) VALUES(2, 1334448000);" sql execute $db "INSERT INTO t1 (x, y) VALUES(3, 1365984000);" ................................................................................ ############################################################################### set date [clock format [clock seconds] -format yyyy-MM-dd] ############################################################################### runTest {test basic-1.13 {DateTime using invariant culture} -setup { setupDb [set fileName basic-1.13.db] "" InvariantCulture Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" sql execute $db \ "INSERT INTO t1 (x, y) VALUES(1, 'Wednesday, 16 December 2009');" ................................................................................ {{x 7} {y2 2009-12-16T00:00:00.0000000Z}}} {8 {{x 8} {y2\ ${date}T12:00:00.0000000Z}}} {9 {{x 9} {y2 2009-12-16T12:00:00.0000000Z}}}\ {10 {{x 10} {y2 2009-12-16T00:00:00.0000000Z}}} {11 {{x 11} {y2\ ${date}T12:00:00.0000000Z}}} {12 {{x 12} {y2 2009-12-16T12:00:00.0000000Z}}}}]} ############################################################################### runTest {test basic-1.14 {DateTime using current culture} -setup { setupDb [set fileName basic-1.14.db] "" CurrentCulture Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" sql execute $db \ "INSERT INTO t1 (x, y) VALUES(1, 'Wednesday, 16 December 2009');" |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 .. 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 ... 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 ... 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 ... 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 ... 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 ... 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 ... 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 ... 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 ... 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 ... 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 ... 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 ... 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 |
if {![haveConstraint [appendArgs file_ [file tail $testLinqOutFile]]]} then { checkForFile $test_channel $testLinqOutFile } ############################################################################### runTest {test data-1.1 {unit tests from the 'test' project} -setup { catch {file delete [file join [file dirname $testExeFile] Test.db3]} } -body { set output "" set code [catch { testClrExec $testExeFile [list -eventflags Wait -directory \ [file dirname $testExeFile] -stdout output -success 0] -autoRun ................................................................................ list $code [expr {$code == 0 ? "" : $error}] } -cleanup { unset -nocomplain code output error } -constraints {eagle file_test.exe} -result {0 {}}} ############################################################################### runTest {test data-1.2 {unit tests from the 'testlinq' project} -setup { # # NOTE: Re-copy the reference database file used for this unit test to the # build directory in case it has been changed by a previous test run. # file copy -force $northwindEfDbFile \ [file join [getBuildDirectory] [file tail $northwindEfDbFile]] ................................................................................ unset -nocomplain code output error savedEncoding encoding } -constraints \ {eagle monoToDo file_testlinq.exe file_northwindEF.db file_testlinq.out} \ -result {0 True {}}} ############################################################################### runTest {test data-1.3 {SELECT scalar/reader, CREATE, INSERT} -setup { setupDb [set fileName data-1.3.db] } -body { set result [list] lappend result [sql execute -execute scalar $db \ "SELECT sqlite_source_id();"] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y, z);" ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^\{\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} [0-9a-f]{40}\}\ \{1 \{\{x 1\} \{y foo\} \{z 1234\}\}\} \{count 1\} \{names \{x y z\}\}$}} ############################################################################### runTest {test data-1.4 {GetSchema with ReservedWords} -setup { setupDb [set fileName data-1.4.db] } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] data-1.4.db] unset -nocomplain results errors set code [compileCSharpWith [subst { using System.Data; using System.Data.SQLite; ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ System#Data#DataTable#\d+$}} ############################################################################### runTest {test data-1.5 {GetSchema with ForeignKeys} -setup { setupDb [set fileName data-1.5.db] } -body { sql execute $db { CREATE TABLE t1( x INTEGER REFERENCES t2 MATCH FULL ON UPDATE SET DEFAULT ON DELETE CASCADE DEFAULT 1 ); } sql execute $db "CREATE TABLE t2(x INTEGER REFERENCES t3);" set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] data-1.5.db] unset -nocomplain results errors set code [compileCSharpWith [subst { using System.Data; using System.Data.SQLite; ................................................................................ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ \{\{main FK_t1_0 main t1 \{FOREIGN KEY\} False False x main t2 \{\} 0 \{SET\ DEFAULT\} CASCADE NONE\} \{main FK_t2_0 main t2 \{FOREIGN KEY\} False False x\ main t3 \{\} 0 \{NO ACTION\} \{NO ACTION\} NONE\}\}$}} ############################################################################### runTest {test data-1.6 {SQLITE_FCNTL_WIN32_AV_RETRY} -setup { setupDb [set fileName data-1.6.db] } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] data-1.6.db] unset -nocomplain results errors set code [compileCSharpWith [subst { using System.Data; using System.Data.SQLite; ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ True$}} ############################################################################### runTest {test data-1.7 {properly closed database file (non-query)} -setup { set fileName data-1.7.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] $fileName] set sql { \ BEGIN EXCLUSIVE TRANSACTION; \ CREATE TABLE t1(x INTEGER); \ ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ \{\} \{\}$}} ############################################################################### runTest {test data-1.8 {properly closed database file (reader #1)} -setup { set fileName data-1.8.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] $fileName] set sql { \ BEGIN EXCLUSIVE TRANSACTION; \ CREATE TABLE t1(x INTEGER); \ ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ \{\} \{\}$}} ############################################################################### runTest {test data-1.9 {properly closed database file (reader #2)} -setup { set fileName data-1.9.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getTemporaryPath] $fileName] set sql { \ BEGIN EXCLUSIVE TRANSACTION; \ CREATE TABLE t1(x INTEGER); \ ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -match regexp -result {^Ok System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0\ \{\} \{\}$}} ############################################################################### runTest {test data-1.10 {Changes property} -setup { setupDb [set fileName data-1.10.db] } -body { set connection [object invoke -flags +NonPublic -objectflags +NoDispose \ Interpreter.GetActive.connections Item $db] set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y, z);" ................................................................................ unset -nocomplain name rows result connection db fileName } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -result {1 2 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar} {z 5678}}}}} ############################################################################### runTest {test data-1.11 {LastInsertRowId property} -setup { setupDb [set fileName data-1.11.db] } -body { set connection [object invoke -flags +NonPublic -objectflags +NoDispose \ Interpreter.GetActive.connections Item $db] set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y, z);" ................................................................................ } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -result {0 1 2 2 1 2 2 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar}\ {z 5678}}} 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar} {z 5678}}}}} ############################################################################### runTest {test data-1.12 {DateTime using Unix epoch} -setup { setupDb [set fileName data-1.12.db] "" UnixEpoch Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" sql execute $db "INSERT INTO t1 (x, y) VALUES(1, 1302825600);" sql execute $db "INSERT INTO t1 (x, y) VALUES(2, 1334448000);" sql execute $db "INSERT INTO t1 (x, y) VALUES(3, 1365984000);" ................................................................................ ############################################################################### set date [clock format [clock seconds] -format yyyy-MM-dd] ############################################################################### runTest {test data-1.13 {DateTime using invariant culture} -setup { setupDb [set fileName data-1.13.db] "" InvariantCulture Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" sql execute $db \ "INSERT INTO t1 (x, y) VALUES(1, 'Wednesday, 16 December 2009');" ................................................................................ {{x 7} {y2 2009-12-16T00:00:00.0000000Z}}} {8 {{x 8} {y2\ ${date}T12:00:00.0000000Z}}} {9 {{x 9} {y2 2009-12-16T12:00:00.0000000Z}}}\ {10 {{x 10} {y2 2009-12-16T00:00:00.0000000Z}}} {11 {{x 11} {y2\ ${date}T12:00:00.0000000Z}}} {12 {{x 12} {y2 2009-12-16T12:00:00.0000000Z}}}}]} ############################################################################### runTest {test data-1.14 {DateTime using current culture} -setup { setupDb [set fileName data-1.14.db] "" CurrentCulture Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" sql execute $db \ "INSERT INTO t1 (x, y) VALUES(1, 'Wednesday, 16 December 2009');" |