System.Data.SQLite

Check-in [aa845495da]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Refactoring of some diagnostic messages emitted by the test suite infrastructure.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: aa845495dac6d89227b75038ecd50a5d5b9a6b86
User & Date: mistachkin 2018-08-14 03:43:59.655
Context
2018-08-14
03:52
Update list of define constants in the test suite infrastructure. check-in: c5a6ab3a68 user: mistachkin tags: trunk
03:43
Refactoring of some diagnostic messages emitted by the test suite infrastructure. check-in: aa845495da user: mistachkin tags: trunk
03:22
Enhance test suite infrastructure, mostly to support build auto-selection for the .NET Standard 2.0 build. check-in: 7d7bb0e1a3 user: mistachkin tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to lib/System.Data.SQLite/common.eagle.
4600
4601
4602
4603
4604
4605
4606






























































































































































4607
4608
4609
4610
4611
4612
4613
        }

        tputs $::test_channel [appendArgs \
            "---- moved test log from \"" $old_test_log "\" to \"" \
            $new_test_log \"\n]
      }
    }































































































































































    proc runSQLiteTestPrologue {} {
      #
      # NOTE: Skip running our custom prologue if the main one has been
      #       skipped.
      #
      if {![info exists ::no(prologue.eagle)]} then {







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
        }

        tputs $::test_channel [appendArgs \
            "---- moved test log from \"" $old_test_log "\" to \"" \
            $new_test_log \"\n]
      }
    }

    proc showSQLiteBuildParameters { channel } {
      #
      # NOTE: Check if the native build flag has been forcibly set.
      #
      tputs $channel \
          "---- checking for System.Data.SQLite build native override... "

      set native [getBuildNative]

      if {[string length $native] > 0} then {
        addConstraint [appendArgs buildNative. $native]
        tputs $channel [appendArgs \" $native \"\n]
      } else {
        addConstraint buildNative.none
        tputs $channel <none>\n
      }

      #
      # NOTE: Check the current build year.  Basically, this indicates
      #       which version of MSBuild and/or Visual Studio was used to
      #       compile the assembly binaries under test.
      #
      tputs $channel \
          "---- checking for System.Data.SQLite build year... "

      set year [getBuildYear]

      if {[string length $year] > 0} then {
        addConstraint [appendArgs buildYear. $year]
        tputs $channel [appendArgs \" $year \"\n]
      } else {
        addConstraint buildYear.none
        tputs $channel <none>\n
      }

      tputs $channel \
          "---- checking for System.Data.SQLite build native year... "

      set year [getBuildNativeYear]

      if {[string length $year] > 0} then {
        addConstraint [appendArgs buildNativeYear. $year]
        tputs $channel [appendArgs \" $year \"\n]
      } else {
        addConstraint buildNativeYear.none
        tputs $channel <none>\n
      }

      tputs $channel \
          "---- checking for System.Data.SQLite build platform... "

      set platform [getBuildPlatform true]

      if {[string length $platform] > 0} then {
        addConstraint [appendArgs buildPlatform. $platform]
        tputs $channel [appendArgs \" $platform \"\n]
      } else {
        addConstraint buildPlatform.none
        tputs $channel <none>\n
      }

      set architecture [architectureForPlatform $platform]

      tputs $channel \
          "---- checking for System.Data.SQLite build architecture... "

      if {[string length $architecture] > 0} then {
        addConstraint [appendArgs buildArchitecture. $architecture]
        tputs $channel [appendArgs \" $architecture \"\n]
      } else {
        addConstraint buildArchitecture.none
        tputs $channel <none>\n
      }

      #
      # NOTE: Check the current build .NET Framework.  Basically, this
      #       indicates which version of the .NET Framework is being
      #       used by the assembly binaries under test.
      #
      tputs $channel \
          "---- checking for System.Data.SQLite build .NET Framework... "

      set netFx [getBuildNetFx]

      if {[string length $netFx] > 0} then {
        addConstraint [appendArgs buildFramework. $netFx]
        tputs $channel [appendArgs \" $netFx \"\n]
      } else {
        addConstraint buildFramework.none
        tputs $channel <none>\n
      }

      #
      # NOTE: Check the current build configuration.  This should normally
      #       be either "Debug" or "Release".
      #
      tputs $channel \
          "---- checking for System.Data.SQLite build configuration... "

      set configuration [getBuildConfiguration]

      if {[string length $configuration] > 0} then {
        addConstraint [appendArgs buildConfiguration. $configuration]
        tputs $channel [appendArgs \" $configuration \"\n]
      } else {
        addConstraint buildConfiguration.none
        tputs $channel <none>\n
      }

      #
      # NOTE: Check the current build configuration suffix.  This will
      #       normally be either "NetStandard20" or an empty string.
      #
      tputs $channel \
          "---- checking for System.Data.SQLite build configuration suffix... "

      set suffix [getBuildConfigurationSuffix]

      if {[string length $suffix] > 0} then {
        addConstraint [appendArgs buildConfigurationSuffix. $suffix]
        tputs $channel [appendArgs \" $suffix \"\n]
      } else {
        addConstraint buildConfigurationSuffix.none
        tputs $channel <none>\n
      }

      tputs $channel [appendArgs \
          "---- checking for System.Data.SQLite build native configuration " \
          "suffix... "]

      set suffix [getBuildNativeConfigurationSuffix]

      if {[string length $suffix] > 0} then {
        addConstraint [appendArgs buildNativeConfigurationSuffix. $suffix]
        tputs $channel [appendArgs \" $suffix \"\n]
      } else {
        addConstraint buildNativeConfigurationSuffix.none
        tputs $channel <none>\n
      }

      #
      # NOTE: Check the current build extra directory.  This will normally
      #       be either "netstandard2.0" or an empty string.
      #
      tputs $channel \
          "---- checking for System.Data.SQLite build extra... "

      set extra [getBuildExtra]

      if {[string length $extra] > 0} then {
        addConstraint [appendArgs buildExtra. $extra]
        tputs $channel [appendArgs \" $extra \"\n]
      } else {
        addConstraint buildExtra.none
        tputs $channel <none>\n
      }
    }

    proc runSQLiteTestPrologue {} {
      #
      # NOTE: Skip running our custom prologue if the main one has been
      #       skipped.
      #
      if {![info exists ::no(prologue.eagle)]} then {
4638
4639
4640
4641
4642
4643
4644






4645
4646
4647
4648
4649
4650
4651

        #
        # NOTE: Determine the names of the native platform and architecture.
        #
        set platform [getBuildPlatform true]
        set architecture [architectureForPlatform $platform]







        #
        # NOTE: Show the platform and architecture used to help locate the
        #       native build files.
        #
        tputs $::test_channel [appendArgs \
            "---- platform for locating native build files is \"" \
            [expr {[string length $platform] > 0 ? $platform : "<none>"}] \







>
>
>
>
>
>







4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815

        #
        # NOTE: Determine the names of the native platform and architecture.
        #
        set platform [getBuildPlatform true]
        set architecture [architectureForPlatform $platform]

        #
        # NOTE: Show (and log) the global parameters that control where the
        #       build directory should be.
        #
        showSQLiteBuildParameters $::test_channel

        #
        # NOTE: Show the platform and architecture used to help locate the
        #       native build files.
        #
        tputs $::test_channel [appendArgs \
            "---- platform for locating native build files is \"" \
            [expr {[string length $platform] > 0 ? $platform : "<none>"}] \
4781
4782
4783
4784
4785
4786
4787







4788
4789
4790
4791
4792
4793
4794
        #       build (or "release") of SQLite and System.Data.SQLite
        #       for use with the test suite.
        #
        if {[hasRuntimeOption autoSelect]} then {
          if {![checkForSQLiteBuilds $::test_channel true]} then {
            checkForSQLiteReleases $::test_channel true
          }







        }

        #
        # NOTE: Skip all System.Data.SQLite related file handling (deleting,
        #       copying, and loading) if instructed.
        #
        if {![info exists ::no(sqliteFiles)]} then {







>
>
>
>
>
>
>







4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
        #       build (or "release") of SQLite and System.Data.SQLite
        #       for use with the test suite.
        #
        if {[hasRuntimeOption autoSelect]} then {
          if {![checkForSQLiteBuilds $::test_channel true]} then {
            checkForSQLiteReleases $::test_channel true
          }

          #
          # NOTE: Show (and log) the global parameters that control where
          #       the build directory should be.  The auto-selection may
          #       have modified some of these parameters.
          #
          showSQLiteBuildParameters $::test_channel
        }

        #
        # NOTE: Skip all System.Data.SQLite related file handling (deleting,
        #       copying, and loading) if instructed.
        #
        if {![info exists ::no(sqliteFiles)]} then {
4869
4870
4871
4872
4873
4874
4875






4876
4877
4878
4879
4880
4881
4882
            if {![info exists ::no(deleteSqliteManagedFiles)]} then {
              foreach fileName $managedFileNames {
                tryDeleteAssembly $fileName
              }
            }
          }







          #
          # NOTE: Skip trying to verify the build directory if instructed;
          #       otherwise, make sure it actually exists or halt the entire
          #       testing process if it does not exist.
          #
          if {![info exists ::no(verifyBuildDirectory)]} then {
            #







>
>
>
>
>
>







5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
            if {![info exists ::no(deleteSqliteManagedFiles)]} then {
              foreach fileName $managedFileNames {
                tryDeleteAssembly $fileName
              }
            }
          }

          #
          # NOTE: Show (and log) the global parameters that control where
          #       the build directory should be.
          #
          showSQLiteBuildParameters $::test_channel

          #
          # NOTE: Skip trying to verify the build directory if instructed;
          #       otherwise, make sure it actually exists or halt the entire
          #       testing process if it does not exist.
          #
          if {![info exists ::no(verifyBuildDirectory)]} then {
            #
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
              # NOTE: Yes, add constraint for use by the test suite.
              #
              addConstraint System.Data.SQLite.Encryption
            }
          }
        }

        #
        # NOTE: Check if the native build flag has been forcibly set.
        #
        tputs $::test_channel \
            "---- checking for System.Data.SQLite build native flag... "

        set native [getBuildNative]

        if {[string length $native] > 0} then {
          addConstraint [appendArgs buildNative. $native]
          tputs $::test_channel [appendArgs \" $native \"\n]
        } else {
          addConstraint buildNative.none
          tputs $::test_channel <none>\n
        }

        #
        # NOTE: Check the current build year.  Basically, this indicates
        #       which version of MSBuild and/or Visual Studio was used to
        #       compile the assembly binaries under test.
        #
        tputs $::test_channel \
            "---- checking for System.Data.SQLite build year... "

        set year [getBuildYear]

        if {[string length $year] > 0} then {
          addConstraint [appendArgs buildYear. $year]
          tputs $::test_channel [appendArgs \" $year \"\n]
        } else {
          addConstraint buildYear.none
          tputs $::test_channel <none>\n
        }

        tputs $::test_channel \
            "---- checking for System.Data.SQLite build native year... "

        set year [getBuildNativeYear]

        if {[string length $year] > 0} then {
          addConstraint [appendArgs buildNativeYear. $year]
          tputs $::test_channel [appendArgs \" $year \"\n]
        } else {
          addConstraint buildNativeYear.none
          tputs $::test_channel <none>\n
        }

        #
        # NOTE: Check the current build .NET Framework.  Basically, this
        #       indicates which version of the .NET Framework is being
        #       used by the assembly binaries under test.
        #
        tputs $::test_channel \
            "---- checking for System.Data.SQLite build .NET Framework... "

        set netFx [getBuildNetFx]

        if {[string length $netFx] > 0} then {
          addConstraint [appendArgs buildFramework. $netFx]
          tputs $::test_channel [appendArgs \" $netFx \"\n]
        } else {
          addConstraint buildFramework.none
          tputs $::test_channel <none>\n
        }

        #
        # NOTE: Check the current build configuration.  This should normally
        #       be either "Debug" or "Release".
        #
        tputs $::test_channel \
            "---- checking for System.Data.SQLite build configuration... "

        set configuration [getBuildConfiguration]

        if {[string length $configuration] > 0} then {
          addConstraint [appendArgs buildConfiguration. $configuration]
          tputs $::test_channel [appendArgs \" $configuration \"\n]
        } else {
          addConstraint buildConfiguration.none
          tputs $::test_channel <none>\n
        }

        #
        # NOTE: Check the current build configuration suffix.  This will
        #       normally be either "NetStandard20" or an empty string.
        #
        tputs $::test_channel \
            "---- checking for System.Data.SQLite build configuration suffix... "

        set suffix [getBuildConfigurationSuffix]

        if {[string length $suffix] > 0} then {
          addConstraint [appendArgs buildConfigurationSuffix. $suffix]
          tputs $::test_channel [appendArgs \" $suffix \"\n]
        } else {
          addConstraint buildConfigurationSuffix.none
          tputs $::test_channel <none>\n
        }

        tputs $::test_channel \
            "---- checking for System.Data.SQLite build native configuration suffix... "

        set suffix [getBuildNativeConfigurationSuffix]

        if {[string length $suffix] > 0} then {
          addConstraint [appendArgs buildNativeConfigurationSuffix. $suffix]
          tputs $::test_channel [appendArgs \" $suffix \"\n]
        } else {
          addConstraint buildNativeConfigurationSuffix.none
          tputs $::test_channel <none>\n
        }

        #
        # NOTE: Check the current build extra directory.  This will normally
        #       be either "netstandard2.0" or an empty string.
        #
        tputs $::test_channel \
            "---- checking for System.Data.SQLite build extra... "

        set extra [getBuildExtra]

        if {[string length $extra] > 0} then {
          addConstraint [appendArgs buildExtra. $extra]
          tputs $::test_channel [appendArgs \" $extra \"\n]
        } else {
          addConstraint buildExtra.none
          tputs $::test_channel <none>\n
        }

        #
        # NOTE: Try to setup an interrupt callback using the script debugger
        #       that will cancel all SQL queries in progress for all database
        #       connections known to this interpreter.
        #
        if {![info exists ::no(sqliteInterruptCallback)]} then {
          setupDbInterruptCallback $::test_channel $::test_log







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







5550
5551
5552
5553
5554
5555
5556

































































































































5557
5558
5559
5560
5561
5562
5563
              # NOTE: Yes, add constraint for use by the test suite.
              #
              addConstraint System.Data.SQLite.Encryption
            }
          }
        }


































































































































        #
        # NOTE: Try to setup an interrupt callback using the script debugger
        #       that will cancel all SQL queries in progress for all database
        #       connections known to this interpreter.
        #
        if {![info exists ::no(sqliteInterruptCallback)]} then {
          setupDbInterruptCallback $::test_channel $::test_log