System.Data.SQLite
Check-in [8728586263]
Not logged in

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

Overview
Comment:Refactor how the test suite infrastructure package is handled.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 8728586263c71c70e894025bd1425e400851361a
User & Date: mistachkin 2015-06-05 22:04:42
Context
2015-06-06
00:24
Enhance the test suite infrastructure to handle having the tests in their own directory. check-in: b7162effee user: mistachkin tags: trunk
2015-06-05
22:04
Refactor how the test suite infrastructure package is handled. check-in: 8728586263 user: mistachkin tags: trunk
21:49
Fix minor typo in README. check-in: 15b0514947 user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Externals/Eagle/lib/Eagle1.0/vendor.eagle.

88
89
90
91
92
93
94






95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149

      #
      # NOTE: Keep going until the directory name is empty OR is actually the
      #       root of the associated volume.
      #
      while {[string length $dir] > 0 && \
          [lsearch -exact -nocase -- [file volumes] $dir] == -1} {






        #
        # NOTE: Does this directory have the necessary sub-directory that
        #       contains a package index file?
        #
        if {[file exists [file join $dir Tests]] && \
            [file isdirectory [file join $dir Tests]] && \
            [file exists [file join $dir Tests pkgIndex.eagle]] && \
            [file isfile [file join $dir Tests pkgIndex.eagle]]} then {
          #
          # NOTE: If requested, give our caller access to the name of the
          #       directory we just found.
          #
          if {[string length $varName] > 0} then {
            upvar 1 $varName dir2
          }

          #
          # NOTE: Ok, show the directory we found.
          #
          set dir2 [file join $dir Tests]

          #
          # NOTE: We found the necessary directory to add to the auto-path;
          #       However, we cannot simply add it to the auto-path directly
          #       because the auto-path is dynamically constructed after this
          #       script is evaluated; therefore, set the Eagle library path
          #       environment variable and force the appropriate internal path
          #       list to be refreshed.
          #
          if {![info exists ::env(EAGLELIBPATH)] || \
              [lsearch -exact $::env(EAGLELIBPATH) $dir2] == -1} then {
            #
            # NOTE: If we have NOT been instructed to be quiet, report now.
            #
            if {!$quiet} then {
              catch {
                tqputs $channel [appendArgs \
                    "---- found vendor-specific test package directory \"" \
                    $dir2 "\", adding...\n"]
              }
            }

            #
            # NOTE: Append the directory to the necessary environment variable
            #       so that it will get picked up when Eagle actually rebuilds
            #       the auto-path list (below).
            #
            lappend ::env(EAGLELIBPATH) $dir2

            #
            # NOTE: Attempt to force Eagle to rebuild the auto-path for the
            #       current interpreter right now.
            #
            set refresh [refreshAutoPath]








>
>
>
>
>
>




|
|
|
|





|





|










|







|








|







88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155

      #
      # NOTE: Keep going until the directory name is empty OR is actually the
      #       root of the associated volume.
      #
      while {[string length $dir] > 0 && \
          [lsearch -exact -nocase -- [file volumes] $dir] == -1} {
        #
        # NOTE: Set the sub-directory where the package index file should
        #       be located within the directory to be searched.
        #
        set dir2 [file join lib System.Data.SQLite]

        #
        # NOTE: Does this directory have the necessary sub-directory that
        #       contains a package index file?
        #
        if {[file exists [file join $dir $dir2]] && \
            [file isdirectory [file join $dir $dir2]] && \
            [file exists [file join $dir $dir2 pkgIndex.eagle]] && \
            [file isfile [file join $dir $dir2 pkgIndex.eagle]]} then {
          #
          # NOTE: If requested, give our caller access to the name of the
          #       directory we just found.
          #
          if {[string length $varName] > 0} then {
            upvar 1 $varName dir3
          }

          #
          # NOTE: Ok, show the directory we found.
          #
          set dir3 [file join $dir $dir2]

          #
          # NOTE: We found the necessary directory to add to the auto-path;
          #       However, we cannot simply add it to the auto-path directly
          #       because the auto-path is dynamically constructed after this
          #       script is evaluated; therefore, set the Eagle library path
          #       environment variable and force the appropriate internal path
          #       list to be refreshed.
          #
          if {![info exists ::env(EAGLELIBPATH)] || \
              [lsearch -exact $::env(EAGLELIBPATH) $dir3] == -1} then {
            #
            # NOTE: If we have NOT been instructed to be quiet, report now.
            #
            if {!$quiet} then {
              catch {
                tqputs $channel [appendArgs \
                    "---- found vendor-specific test package directory \"" \
                    $dir3 "\", adding...\n"]
              }
            }

            #
            # NOTE: Append the directory to the necessary environment variable
            #       so that it will get picked up when Eagle actually rebuilds
            #       the auto-path list (below).
            #
            lappend ::env(EAGLELIBPATH) $dir3

            #
            # NOTE: Attempt to force Eagle to rebuild the auto-path for the
            #       current interpreter right now.
            #
            set refresh [refreshAutoPath]

Changes to Setup/data/verify.lst.

203
204
205
206
207
208
209




210
211
212
213
214
215
216
...
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
...
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
  Externals/Eagle/bin/
  Externals/Eagle/bin/EagleShell.exe.config
  Externals/Eagle/bin/EagleShell.exe.mda.config
  Externals/Eagle/lib/
  Externals/Eagle/lib/Eagle1.0/
  Externals/Eagle/lib/Eagle1.0/vendor.eagle
  Externals/Eagle/lib/Test1.0/




  Keys/
  Keys/System.Data.SQLite.CF.snk
  Keys/System.Data.SQLite.snk
  NuGet/
  NuGet/shared/
  NuGet/shared/Core/
  NuGet/shared/Core/build/
................................................................................
  testlinq/testlinq.2012.csproj
  testlinq/testlinq.2013.csproj
  Tests/
  Tests/all.eagle
  Tests/authorizer.eagle
  Tests/backup.eagle
  Tests/basic.eagle
  Tests/common.eagle
  Tests/data/
  Tests/data/Installer_Test_Vs2005.log
  Tests/data/Installer_Test_Vs2008.log
  Tests/data/Installer_Test_Vs2010.log
  Tests/data/Installer_Test_Vs2012.log
  Tests/data/Installer_Test_Vs2013.log
  Tests/data/nonWal.db
................................................................................
  Tests/data/Uninstaller_Test_Vs2010.log
  Tests/data/Uninstaller_Test_Vs2012.log
  Tests/data/Uninstaller_Test_Vs2013.log
  Tests/data/wal.db
  Tests/empty.eagle
  Tests/installer.eagle
  Tests/linq.eagle
  Tests/pkgIndex.eagle
  Tests/speed.eagle
  Tests/stress.eagle
  Tests/thread.eagle
  Tests/tkt-00f86f9739.eagle
  Tests/tkt-0a32885109.eagle
  Tests/tkt-0d5b1ef362.eagle
  Tests/tkt-17045010df.eagle







>
>
>
>







 







<







 







<







203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
...
692
693
694
695
696
697
698

699
700
701
702
703
704
705
...
709
710
711
712
713
714
715

716
717
718
719
720
721
722
  Externals/Eagle/bin/
  Externals/Eagle/bin/EagleShell.exe.config
  Externals/Eagle/bin/EagleShell.exe.mda.config
  Externals/Eagle/lib/
  Externals/Eagle/lib/Eagle1.0/
  Externals/Eagle/lib/Eagle1.0/vendor.eagle
  Externals/Eagle/lib/Test1.0/
  lib/
  lib/System.Data.SQLite/
  lib/System.Data.SQLite/common.eagle
  lib/System.Data.SQLite/pkgIndex.eagle
  Keys/
  Keys/System.Data.SQLite.CF.snk
  Keys/System.Data.SQLite.snk
  NuGet/
  NuGet/shared/
  NuGet/shared/Core/
  NuGet/shared/Core/build/
................................................................................
  testlinq/testlinq.2012.csproj
  testlinq/testlinq.2013.csproj
  Tests/
  Tests/all.eagle
  Tests/authorizer.eagle
  Tests/backup.eagle
  Tests/basic.eagle

  Tests/data/
  Tests/data/Installer_Test_Vs2005.log
  Tests/data/Installer_Test_Vs2008.log
  Tests/data/Installer_Test_Vs2010.log
  Tests/data/Installer_Test_Vs2012.log
  Tests/data/Installer_Test_Vs2013.log
  Tests/data/nonWal.db
................................................................................
  Tests/data/Uninstaller_Test_Vs2010.log
  Tests/data/Uninstaller_Test_Vs2012.log
  Tests/data/Uninstaller_Test_Vs2013.log
  Tests/data/wal.db
  Tests/empty.eagle
  Tests/installer.eagle
  Tests/linq.eagle

  Tests/speed.eagle
  Tests/stress.eagle
  Tests/thread.eagle
  Tests/tkt-00f86f9739.eagle
  Tests/tkt-0a32885109.eagle
  Tests/tkt-0d5b1ef362.eagle
  Tests/tkt-17045010df.eagle

Changes to Tests/all.eagle.

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

#
# NOTE: Run all the unit tests.
#
set test_time [time {
  runAllTests $test_channel $path \
      [getTestFiles [list $path] $test_flags(-file) $test_flags(-notFile)] \
      [list [file tail [info script]] *.tcl pkgIndex.eagle common.eagle \
          constraints.eagle empty.eagle epilogue.eagle prologue.eagle] \
      $test_flags(-startFile) $test_flags(-stopFile)
}]

#
# NOTE: Run the local test epilogue, if any.
#
if {[file exists [file join $path epilogue.eagle]]} then {







|
|







43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

#
# NOTE: Run all the unit tests.
#
set test_time [time {
  runAllTests $test_channel $path \
      [getTestFiles [list $path] $test_flags(-file) $test_flags(-notFile)] \
      [list [file tail [info script]] \
      *.tcl empty.eagle epilogue.eagle prologue.eagle] \
      $test_flags(-startFile) $test_flags(-stopFile)
}]

#
# NOTE: Run the local test epilogue, if any.
#
if {[file exists [file join $path epilogue.eagle]]} then {

Name change from Tests/common.eagle to lib/System.Data.SQLite/common.eagle.

329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
        # NOTE: The location of the build base directory has been overridden;
        #       therefore, use it verbatim.
        #
        return $::build_base_directory
      } elseif {[info exists ::common_directory] && \
          [string length $::common_directory] > 0} then {
        #
        # NOTE: Next, fallback to the parent directory of the one containing
        #       this file (i.e. "common.eagle"), if available.
        #
        return [file dirname $::common_directory]
      } elseif {[info exists ::path] && \
          [string length $::path] > 0} then {
        #
        # NOTE: Finally, fallback to the parent directory of the EagleTest
        #       path.  The EagleTest package guarantees that this variable
        #       will be set to the directory containing the first file to
        #       execute the [runTestPrologue] script library procedure.







|
|

|







329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
        # NOTE: The location of the build base directory has been overridden;
        #       therefore, use it verbatim.
        #
        return $::build_base_directory
      } elseif {[info exists ::common_directory] && \
          [string length $::common_directory] > 0} then {
        #
        # NOTE: Next, fallback to the grandparent directory of the one
        #       containing this file (i.e. "common.eagle"), if available.
        #
        return [file dirname [file dirname $::common_directory]]
      } elseif {[info exists ::path] && \
          [string length $::path] > 0} then {
        #
        # NOTE: Finally, fallback to the parent directory of the EagleTest
        #       path.  The EagleTest package guarantees that this variable
        #       will be set to the directory containing the first file to
        #       execute the [runTestPrologue] script library procedure.

Name change from Tests/pkgIndex.eagle to lib/System.Data.SQLite/pkgIndex.eagle.

Name change from Tests/settings.before.mistachkin.eagle to lib/System.Data.SQLite/settings.before.mistachkin.eagle.

Name change from Tests/settings.stress.mistachkin.eagle to lib/System.Data.SQLite/settings.stress.mistachkin.eagle.