Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | In the test suite, make sure the interop assembly, if present, is used for extension loading. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
42b74232eb2933b6e61b93de0e0d79bd |
User & Date: | mistachkin 2016-03-24 03:30:00.757 |
References
2016-03-24
| ||
04:42 | Check-in [42b74232eb] did not go far enough. In the test suite, prefer the interop assembly when available; however, always attempt to choose the most appropriate library available, based on the managed assembly configuration. check-in: 4555e3f885 user: mistachkin tags: trunk | |
Context
2016-03-24
| ||
03:50 | Most of the 'vtab' tests appear to crash Mono 2.11. check-in: d8e91c6888 user: mistachkin tags: trunk | |
03:30 | In the test suite, make sure the interop assembly, if present, is used for extension loading. check-in: 42b74232eb user: mistachkin tags: trunk | |
02:26 | The tests for ticket [996d13cd87] appear to crash Mono 2.11. check-in: ec17cea9bf user: mistachkin tags: trunk | |
Changes
Changes to Externals/Eagle/lib/Eagle1.0/vendor.eagle.
︙ | ︙ | |||
333 334 335 336 337 338 339 | # # NOTE: Check for any overridden settings that may have been specified via # the command line, etc. # checkForTestOverrides stdout [expr {[info exists test_overrides] ? \ $test_overrides : [list binary_directory build_base_directory \ build_directory common_directory connection_flags database_directory \ | | | > | | | | < | | 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | # # NOTE: Check for any overridden settings that may have been specified via # the command line, etc. # checkForTestOverrides stdout [expr {[info exists test_overrides] ? \ $test_overrides : [list binary_directory build_base_directory \ build_directory common_directory connection_flags database_directory \ datetime_format execute_on_setup interop_assembly_file_names \ native_library_file_names release_version scratch_directory \ temporary_directory test_clr test_clr_v2 test_clr_v4 \ test_configuration test_configurations test_constraints test_machine \ test_net_fx test_net_fx_2005 test_net_fx_2008 test_net_fx_2010 \ test_net_fx_2012 test_net_fx_2013 test_net_fx_2015 test_overrides \ test_platform test_suite test_year test_years test_year_clr_v2 \ test_year_clr_v4 vendor_directory vendor_test_directory]}] false # # NOTE: Set the name of the running test suite, if necessary. # if {![info exists test_suite]} then { set test_suite "System.Data.SQLite Test Suite for Eagle" } |
︙ | ︙ |
Changes to Tests/basic.eagle.
︙ | ︙ | |||
2656 2657 2658 2659 2660 2661 2662 | } -body { set connection [getDbConnection] set result [list] $connection EnableExtensions true $connection LoadExtension \ | | | 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 | } -body { set connection [getDbConnection] set result [list] $connection EnableExtensions true $connection LoadExtension \ [getCoreExtensionBinaryFileName null] sqlite3_totype_init lappend result [sql execute -execute scalar $db "SELECT tointeger('1');"] lappend result [sql execute -execute scalar $db "SELECT tointeger('1x');"] lappend result [sql execute -execute scalar $db "SELECT toreal('1.01');"] lappend result [sql execute -execute scalar $db "SELECT toreal('1.0x');"] set result |
︙ | ︙ | |||
2689 2690 2691 2692 2693 2694 2695 | set connection [getDbConnection] set result(1) [list] $connection EnableExtensions true $connection LoadExtension \ | | | 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 | set connection [getDbConnection] set result(1) [list] $connection EnableExtensions true $connection LoadExtension \ [getCoreExtensionBinaryFileName null] sqlite3_regexp_init set pattern(1) {^\d+ [A-Z]{1,3}$}; # valid set pattern(2) {^\d+ [C]($}; # invalid lappend result(1) [catch { sql execute -execute scalar $db "SELECT REGEXP('$pattern(1)', '1 AB');" } result(2)] $result(2) |
︙ | ︙ | |||
2802 2803 2804 2805 2806 2807 2808 | } -body { set connection [getDbConnection] set result [list] $connection EnableExtensions true $connection LoadExtension \ | | | 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 | } -body { set connection [getDbConnection] set result [list] $connection EnableExtensions true $connection LoadExtension \ [getCoreExtensionBinaryFileName null] sqlite3_percentile_init lappend result [sql execute $db "CREATE TABLE t1(x);"] lappend result [sql execute $db "INSERT INTO t1 VALUES(1),(2),(3),(4);"] lappend result [sql execute $db "SELECT percentile(x,25) FROM t1;"] lappend result [sql execute -execute scalar $db \ "SELECT percentile(x,25) FROM t1;"] |
︙ | ︙ | |||
3235 3236 3237 3238 3239 3240 3241 | } -body { set connection [getDbConnection] set result [list] $connection EnableExtensions true $connection LoadExtension \ | | | 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 | } -body { set connection [getDbConnection] set result [list] $connection EnableExtensions true $connection LoadExtension \ [getCoreExtensionBinaryFileName null] sqlite3_fts5_init lappend result [sql execute -execute scalar $db "SELECT fts5_source_id();"] lappend result [sql execute -execute scalar $db \ "CREATE VIRTUAL TABLE t1 USING fts5(x, prefix=\"1\");"] foreach x [list cat dog horse house] { |
︙ | ︙ | |||
3947 3948 3949 3950 3951 3952 3953 | set connection [getDbConnection] set result [list] $connection EnableExtensions true $connection LoadExtension \ | | | 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 | set connection [getDbConnection] set result [list] $connection EnableExtensions true $connection LoadExtension \ [getCoreExtensionBinaryFileName null] sqlite3_json_init lappend result [sql execute -execute scalar $db \ {SELECT json('{ "this" : "is", "a": [ "test" ] }');}] lappend result [sql execute -execute reader -format list $db \ "SELECT rowid, json_type(json) FROM big;"] |
︙ | ︙ |
Changes to Tests/tkt-17045010df.eagle.
︙ | ︙ | |||
24 25 26 27 28 29 30 | setupDb [set fileName tkt-17045010df-1.1.db] } -body { set connection [getDbConnection] lappend result [catchAndReturn {$connection EnableExtensions false}] lappend result [catchAndReturn {$connection LoadExtension \ | | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | setupDb [set fileName tkt-17045010df-1.1.db] } -body { set connection [getDbConnection] lappend result [catchAndReturn {$connection EnableExtensions false}] lappend result [catchAndReturn {$connection LoadExtension \ [getCoreExtensionBinaryFileName null] interop_test_extension_init}] lappend result [catchAndReturn {sql execute -execute scalar $db \ "SELECT interopTest('test1');"}] lappend result [catchAndReturn {sql execute -execute scalar $db \ "SELECT interopTest('test1', '1234');"}] lappend result [catchAndReturn {$connection EnableExtensions true}] lappend result [catchAndReturn {$connection LoadExtension \ [getCoreExtensionBinaryFileName null] interop_test_extension_init}] lappend result [catchAndReturn {sql execute -execute scalar $db \ "SELECT interopTest('test2');"}] lappend result [catchAndReturn {sql execute -execute scalar $db \ "SELECT interopTest('test2', '5678');"}] set result |
︙ | ︙ |
Changes to lib/System.Data.SQLite/common.eagle.
︙ | ︙ | |||
503 504 505 506 507 508 509 | # Mac OS X file name, since we do not currently have an easy # way to detect which of those platforms we are running on. # return [list libsqlite3.so libsqlite3.dylib] } } | | < | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | | | < | 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 | # Mac OS X file name, since we do not currently have an easy # way to detect which of those platforms we are running on. # return [list libsqlite3.so libsqlite3.dylib] } } proc getInteropAssemblyFileNamesOnly {} { # # NOTE: First, check if the list of interop assembly file names has been # manually overridden. # if {[info exists ::interop_assembly_file_names] && \ [llength $::interop_assembly_file_names] > 0} then { # # NOTE: The list of interop assembly file names has been overridden; # therefore, use it verbatim. # return $::interop_assembly_file_names } elseif {[isWindows]} then { # # NOTE: Otherwise, on Windows, always use the default file name # "SQLite.Interop.dll". # return [list SQLite.Interop.dll] } else { # # NOTE: Otherwise, return both the generic POSIX file name and the # Mac OS X file name, since we do not currently have an easy # way to detect which of those platforms we are running on. # return [list \ SQLite.Interop.dll.so SQLite.Interop.so \ SQLite.Interop.dylib SQLite.Interop.dll.dylib] } } proc getCoreExtensionBinaryFileName { {default ""} } { set fileName [getCoreBinaryFileName] if {[file exists $fileName]} then { return $fileName } return $default } proc isBuildAvailable { native directory {varName ""} } { # |
︙ | ︙ | |||
566 567 568 569 570 571 572 | set platform [machineToPlatform $::tcl_platform(machine)] # # NOTE: Build the fully qualified file name for the interop assembly # containing the System.Data.SQLite native components. If this # file exists, we should have everything we need. # | > | | | | | | | | | | | < > | | > | 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 | set platform [machineToPlatform $::tcl_platform(machine)] # # NOTE: Build the fully qualified file name for the interop assembly # containing the System.Data.SQLite native components. If this # file exists, we should have everything we need. # foreach fileNameOnly [getInteropAssemblyFileNamesOnly] { set fileName [file nativename [file join $directory \ $architecture $fileNameOnly]] if {[file exists $fileName]} then { return true } set fileName [file nativename [file join $directory \ $platform $fileNameOnly]] if {[file exists $fileName]} then { return true } set fileName [file nativename [file join $directory \ $fileNameOnly]] if {[file exists $fileName]} then { return true } } # # NOTE: Build the fully qualified file name for the SQLite core # library. If this file exists, we should have everything we # need. # |
︙ | ︙ | |||
851 852 853 854 855 856 857 | # NOTE: Fallback to returning the native-only standard SQLite library # file name for Windows. # return [file nativename \ [file join [getBinaryDirectory] $platform sqlite3.dll]] } else { # | | > > > > > > > > > > > > > > | 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 | # NOTE: Fallback to returning the native-only standard SQLite library # file name for Windows. # return [file nativename \ [file join [getBinaryDirectory] $platform sqlite3.dll]] } else { # # NOTE: Attempt to determine the native-only interop assembly file # name for this platform and then return it. # foreach fileNameOnly [getInteropAssemblyFileNamesOnly] { set fileName [file nativename \ [file join [getBinaryDirectory] $platform $fileNameOnly]] if {[file exists $fileName]} then { return $fileName } } # # NOTE: Fallback to returning the native-only interop assembly file # name for Windows. # return [file nativename \ [file join [getBinaryDirectory] $platform SQLite.Interop.dll]] } } proc getCommonDirectory {} { |
︙ | ︙ | |||
3453 3454 3455 3456 3457 3458 3459 | netFx461 netFx45] [getBuildNetFx]]] EntityFramework.dll]] # # NOTE: Build the list of native assembly files that we handle. The # reason the "System.Data.SQLite.dll" file is included here is # because it could be the mixed-mode assembly. # | | > > > > | | 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 | netFx461 netFx45] [getBuildNetFx]]] EntityFramework.dll]] # # NOTE: Build the list of native assembly files that we handle. The # reason the "System.Data.SQLite.dll" file is included here is # because it could be the mixed-mode assembly. # set nativeFileNames [list] eval lappend nativeFileNames [getNativeLibraryFileNamesOnly] eval lappend nativeFileNames [getInteropAssemblyFileNamesOnly] lappend nativeFileNames System.Data.SQLite.dll # # NOTE: Build the list of managed assembly files that we handle. # set managedFileNames [list \ System.Data.SQLite.dll System.Data.SQLite.Linq.dll \ System.Data.SQLite.EF6.dll] |
︙ | ︙ | |||
3699 3700 3701 3702 3703 3704 3705 | catch { tputs $::test_channel [appendArgs \ "---- file version of \"" $fileNameOnly "\"... \"" \ [file version [getBinaryFileName $fileNameOnly]] \"\n] } } | > | | | | > | 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 | catch { tputs $::test_channel [appendArgs \ "---- file version of \"" $fileNameOnly "\"... \"" \ [file version [getBinaryFileName $fileNameOnly]] \"\n] } } foreach fileNameOnly [getInteropAssemblyFileNamesOnly] { catch { tputs $::test_channel [appendArgs \ "---- file version of \"" $fileNameOnly "\"... \"" \ [file version [getBinaryFileName $fileNameOnly]] \"\n] } } catch { tputs $::test_channel [appendArgs \ "---- file version of \"System.Data.SQLite.dll\"... \"" \ [file version [getBinaryFileName System.Data.SQLite.dll]] \"\n] } |
︙ | ︙ | |||
3735 3736 3737 3738 3739 3740 3741 | tputs $::test_channel [appendArgs \ "---- file version of \"" $platform \ / $fileNameOnly "\"... \"" [file version \ [getBinaryFileName $fileNameOnly $platform]] \"\n] } } | > | | | | | > | 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 | tputs $::test_channel [appendArgs \ "---- file version of \"" $platform \ / $fileNameOnly "\"... \"" [file version \ [getBinaryFileName $fileNameOnly $platform]] \"\n] } } foreach fileNameOnly [getInteropAssemblyFileNamesOnly] { catch { tputs $::test_channel [appendArgs \ "---- file version of \"" $platform \ / $fileNameOnly "\"... \"" [file version \ [getBinaryFileName $fileNameOnly $platform]] \"\n] } } catch { tputs $::test_channel [appendArgs \ "---- file version of \"" $platform \ "/System.Data.SQLite.dll\"... \"" [file version \ [getBinaryFileName System.Data.SQLite.dll $platform]] \"\n] |
︙ | ︙ | |||
3763 3764 3765 3766 3767 3768 3769 | [getBinaryFileName $fileNameOnly $architecture]] \"\n] } } catch { tputs $::test_channel [appendArgs \ "---- file version of \"" $architecture \ | | | | 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 | [getBinaryFileName $fileNameOnly $architecture]] \"\n] } } catch { tputs $::test_channel [appendArgs \ "---- file version of \"" $architecture \ / $fileNameOnly "\"... \"" [file version \ [getBinaryFileName $fileNameOnly $architecture]] \"\n] } catch { tputs $::test_channel [appendArgs \ "---- file version of \"" $architecture \ "/System.Data.SQLite.dll\"... \"" [file version \ [getBinaryFileName System.Data.SQLite.dll $architecture]] \ |
︙ | ︙ | |||
3994 3995 3996 3997 3998 3999 4000 4001 | System.Diagnostics.Process.GetCurrentProcess Modules] object foreach -alias module $modules { # # NOTE: The module file name here must be normalized. # set fileName [file normalize [$module FileName]] | > | | | | | 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 | System.Diagnostics.Process.GetCurrentProcess Modules] object foreach -alias module $modules { # # NOTE: The module file name here must be normalized. # set fileName [file normalize [$module FileName]] set fileNameOnly [file tail $fileName] if {[lsearch -exact -nocase -- \ [getNativeLibraryFileNamesOnly] $fileNameOnly] != -1} then { tputs $::test_channel [appendArgs \ "---- found loaded SQLite native library module: " \ $fileName \n] } elseif {[lsearch -exact -nocase -- \ [getInteropAssemblyFileNamesOnly] $fileNameOnly] != -1} then { tputs $::test_channel [appendArgs \ "---- found loaded SQLite interop assembly module: " \ $fileName \n] } } } |
︙ | ︙ |