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

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

Overview
Comment:Break out the mixed-mode assembly file delete/copy handling in the test suite infrastructure.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: e4a002b0c00c60911d8e65052db837e75df239dc
User & Date: mistachkin 2016-08-30 14:15:41
Context
2016-08-31
03:03
Fix a few typos. check-in: 480a146cf8 user: mistachkin tags: trunk
2016-08-30
14:15
Break out the mixed-mode assembly file delete/copy handling in the test suite infrastructure. check-in: e4a002b0c0 user: mistachkin tags: trunk
03:12
In the test suite infrastructure, enable verbose mode by default for all file copy/delete operations. check-in: 0c98859313 user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to lib/System.Data.SQLite/common.eagle.

3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791



3792
3793
3794
3795
3796
3797
3798
3799
....
3812
3813
3814
3815
3816
3817
3818



3819
3820
3821
3822
3823
3824
3825
....
3836
3837
3838
3839
3840
3841
3842




3843
3844
3845
3846
3847
3848
3849
....
3890
3891
3892
3893
3894
3895
3896


















3897
3898
3899
3900
3901
3902
3903
....
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013




4014
4015


4016


4017
















4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
        set externalFileNames [list \
            [file join EntityFramework lib [string map [list Fx ""] \
            [string map [list netFx451 netFx45 netFx452 netFx45 netFx46 \
            netFx45 netFx461 netFx45 netFx462 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]
................................................................................

        tputs $::test_channel [appendArgs \
            "---- list of \"external\" file names is: " $externalFileNames \n]

        tputs $::test_channel [appendArgs \
            "---- list of \"native\" file names is: " $nativeFileNames \n]




        tputs $::test_channel [appendArgs \
            "---- list of \"managed\" file names is: " $managedFileNames \n]

        #
        # NOTE: Remove any test constraints that refer to the native and/or
        #       managed assembly files that we handle unless forbidden from
        #       doing so.
................................................................................
          foreach fileName $externalFileNames {
            removeConstraint [appendArgs file_ [file tail $fileName]]
          }

          foreach fileName $nativeFileNames {
            removeConstraint [appendArgs file_ $fileName]
          }





          foreach fileName $managedFileNames {
            removeConstraint [appendArgs file_ $fileName]
          }
        }

        #
................................................................................
                    [string length $architecture] > 0} then {
                  foreach fileName $nativeFileNames {
                    tryDeleteAssembly $fileName $architecture
                  }
                }
              }
            }



















            if {![info exists ::no(deleteSqliteManagedFiles)]} then {
              foreach fileName $managedFileNames {
                tryDeleteAssembly $fileName
              }
            }
          }
................................................................................

          #
          # NOTE: Skip trying to copy any files if instructed.
          #
          if {![info exists ::no(copySqliteFiles)]} then {
            if {![info exists ::no(copySqliteConfigFiles)]} then {
              tputs $::test_channel \
                  "---- start copying configuration files\n"

              foreach fileName $configFileNames {
                tryCopyBuildFile $fileName
              }

              tputs $::test_channel \
                  "---- end copying configuration files\n"
            }

            if {![info exists ::no(copySqliteExternalFiles)]} then {
              #
              # NOTE: Copy the Managed Debugging Assistants (MDA) configuration
              #       file for the Eagle shell to the build output directory,
              #       while using each of the names of the various legacy test
              #       executables.  This will help to make sure that all the
              #       legacy tests run with exactly the same set of Managed
              #       Debugging Assistants configured.
              #
              tputs $::test_channel \
                  "---- start copying MDA configuration files\n"

              foreach fileName $mdaConfigFileNames {
                tryCopyBinaryFile EagleShell.exe.mda.config "" $fileName
              }

              tputs $::test_channel \
                  "---- end copying MDA configuration files\n"

              #
              # NOTE: Copy the external binaries, if any, to the directory that
              #       contains the Eagle shell.  This is typically used to make
              #       sure assemblies referenced by the ones being tested are
              #       available during the testing process.
              #
              tputs $::test_channel "---- start copying external files\n"

              foreach fileName $externalFileNames {
                tryCopyExternalFile $fileName
              }

              tputs $::test_channel "---- end copying external files\n"
            }

            if {![info exists ::no(copySqliteNativeFiles)]} then {
              #
              # NOTE: If the test platform is likely the default for this
              #       machine, also try to copy the native files to the
              #       binary location.
              #
              if {![info exists ::no(copySqliteImplicitFiles)] && \
                  [isDefaultBuildPlatform]} then {
                tputs $::test_channel \
                    "---- start copying implicit native files\n"

                foreach fileName $nativeFileNames {
                  tryCopyAssembly $fileName
                }





                tputs $::test_channel \
                    "---- end copying implicit native files\n"


              }



















              if {![info exists ::no(copySqliteNonImplicitFiles)]} then {
                if {![info exists ::no(copySqlitePlatformFiles)] && \
                    [string length $platform] > 0} then {
                  tputs $::test_channel [appendArgs \
                      "---- start copying native files for platform \"" \
                      $platform "\" files\n"]

                  foreach fileName $nativeFileNames {
                    tryCopyAssembly $fileName $platform
                  }

                  tputs $::test_channel [appendArgs \
                      "---- end copying native files for platform \"" \
                      $platform "\" files\n"]
                }

                if {![info exists ::no(copySqliteArchitectureFiles)] && \
                    [string length $architecture] > 0} then {
                  tputs $::test_channel [appendArgs \
                      "---- start copying native files for architecture \"" \
                      $architecture "\" files\n"]

                  foreach fileName $nativeFileNames {
                    tryCopyAssembly $fileName $architecture
                  }

                  tputs $::test_channel [appendArgs \
                      "---- end copying native files for architecture \"" \
                      $architecture "\" files\n"]
                }
              }
            }

            if {![info exists ::no(copySqliteManagedFiles)]} then {
              tputs $::test_channel "---- start copying managed files\n"

              foreach fileName $managedFileNames {
                tryCopyAssembly $fileName
              }

              tputs $::test_channel "---- end copying managed files\n"
            }
          }

          #
          # NOTE: Skip trying to load any files if instructed.
          #
          if {![info exists ::no(loadSqliteFiles)]} then {







|
<
<






>
>
>
|







 







>
>
>







 







>
>
>
>







 







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







 







|




<
<
<












|





<
<
<






|




<
<











|




|
>
>
>
>
|
<
>
>
|
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>




|
|

|


<
<
<
<





|
|

|


<
<
<
<





|




<
<







3776
3777
3778
3779
3780
3781
3782
3783


3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
....
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
....
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
....
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
....
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985



3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003



4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014


4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036

4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068




4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079




4080
4081
4082
4083
4084
4085
4086
4087
4088
4089


4090
4091
4092
4093
4094
4095
4096
        set externalFileNames [list \
            [file join EntityFramework lib [string map [list Fx ""] \
            [string map [list netFx451 netFx45 netFx452 netFx45 netFx46 \
            netFx45 netFx461 netFx45 netFx462 netFx45] [getBuildNetFx]]] \
            EntityFramework.dll]]

        #
        # NOTE: Build the list of native assembly files that we handle.


        #
        set nativeFileNames [list]

        eval lappend nativeFileNames [getNativeLibraryFileNamesOnly]
        eval lappend nativeFileNames [getInteropAssemblyFileNamesOnly]

        #
        # NOTE: Build the list of mixed-mode assembly files that we handle.
        #
        set mixedFileNames [list 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]
................................................................................

        tputs $::test_channel [appendArgs \
            "---- list of \"external\" file names is: " $externalFileNames \n]

        tputs $::test_channel [appendArgs \
            "---- list of \"native\" file names is: " $nativeFileNames \n]

        tputs $::test_channel [appendArgs \
            "---- list of \"mixed\" file names is: " $mixedFileNames \n]

        tputs $::test_channel [appendArgs \
            "---- list of \"managed\" file names is: " $managedFileNames \n]

        #
        # NOTE: Remove any test constraints that refer to the native and/or
        #       managed assembly files that we handle unless forbidden from
        #       doing so.
................................................................................
          foreach fileName $externalFileNames {
            removeConstraint [appendArgs file_ [file tail $fileName]]
          }

          foreach fileName $nativeFileNames {
            removeConstraint [appendArgs file_ $fileName]
          }

          foreach fileName $mixedFileNames {
            removeConstraint [appendArgs file_ $fileName]
          }

          foreach fileName $managedFileNames {
            removeConstraint [appendArgs file_ $fileName]
          }
        }

        #
................................................................................
                    [string length $architecture] > 0} then {
                  foreach fileName $nativeFileNames {
                    tryDeleteAssembly $fileName $architecture
                  }
                }
              }
            }

            if {![info exists ::no(deleteSqliteMixedFiles)]} then {
              if {![info exists ::no(deleteSqliteNonImplicitFiles)]} then {
                if {![info exists ::no(deleteSqlitePlatformFiles)] && \
                    [string length $platform] > 0} then {
                  foreach fileName $mixedFileNames {
                    tryDeleteAssembly $fileName $platform
                  }
                }

                if {![info exists ::no(deleteSqliteArchitectureFiles)] && \
                    [string length $architecture] > 0} then {
                  foreach fileName $mixedFileNames {
                    tryDeleteAssembly $fileName $architecture
                  }
                }
              }
            }

            if {![info exists ::no(deleteSqliteManagedFiles)]} then {
              foreach fileName $managedFileNames {
                tryDeleteAssembly $fileName
              }
            }
          }
................................................................................

          #
          # NOTE: Skip trying to copy any files if instructed.
          #
          if {![info exists ::no(copySqliteFiles)]} then {
            if {![info exists ::no(copySqliteConfigFiles)]} then {
              tputs $::test_channel \
                  "---- copying \"configuration\" files...\n"

              foreach fileName $configFileNames {
                tryCopyBuildFile $fileName
              }



            }

            if {![info exists ::no(copySqliteExternalFiles)]} then {
              #
              # NOTE: Copy the Managed Debugging Assistants (MDA) configuration
              #       file for the Eagle shell to the build output directory,
              #       while using each of the names of the various legacy test
              #       executables.  This will help to make sure that all the
              #       legacy tests run with exactly the same set of Managed
              #       Debugging Assistants configured.
              #
              tputs $::test_channel \
                  "---- copying \"MDA configuration\" files...\n"

              foreach fileName $mdaConfigFileNames {
                tryCopyBinaryFile EagleShell.exe.mda.config "" $fileName
              }




              #
              # NOTE: Copy the external binaries, if any, to the directory that
              #       contains the Eagle shell.  This is typically used to make
              #       sure assemblies referenced by the ones being tested are
              #       available during the testing process.
              #
              tputs $::test_channel "---- copying \"external\" files...\n"

              foreach fileName $externalFileNames {
                tryCopyExternalFile $fileName
              }


            }

            if {![info exists ::no(copySqliteNativeFiles)]} then {
              #
              # NOTE: If the test platform is likely the default for this
              #       machine, also try to copy the native files to the
              #       binary location.
              #
              if {![info exists ::no(copySqliteImplicitFiles)] && \
                  [isDefaultBuildPlatform]} then {
                tputs $::test_channel \
                    "---- copying implicit \"native\" files...\n"

                foreach fileName $nativeFileNames {
                  tryCopyAssembly $fileName
                }
              }

              if {![info exists ::no(copySqliteNonImplicitFiles)]} then {
                if {![info exists ::no(copySqlitePlatformFiles)] && \
                    [string length $platform] > 0} then {
                  tputs $::test_channel [appendArgs \

                      "---- copying \"native\" files for platform \"" \
                      $platform "\" files...\n"]

                  foreach fileName $nativeFileNames {
                    tryCopyAssembly $fileName $platform
                  }
                }

                if {![info exists ::no(copySqliteArchitectureFiles)] && \
                    [string length $architecture] > 0} then {
                  tputs $::test_channel [appendArgs \
                      "---- copying \"native\" files for architecture \"" \
                      $architecture "\" files...\n"]

                  foreach fileName $nativeFileNames {
                    tryCopyAssembly $fileName $architecture
                  }
                }
              }
            }

            if {![info exists ::no(copySqliteMixedFiles)]} then {
              if {![info exists ::no(copySqliteNonImplicitFiles)]} then {
                if {![info exists ::no(copySqlitePlatformFiles)] && \
                    [string length $platform] > 0} then {
                  tputs $::test_channel [appendArgs \
                      "---- copying \"mixed\" files for platform \"" \
                      $platform "\" files...\n"]

                  foreach fileName $mixedFileNames {
                    tryCopyAssembly $fileName $platform
                  }




                }

                if {![info exists ::no(copySqliteArchitectureFiles)] && \
                    [string length $architecture] > 0} then {
                  tputs $::test_channel [appendArgs \
                      "---- copying \"mixed\" files for architecture \"" \
                      $architecture "\" files...\n"]

                  foreach fileName $mixedFileNames {
                    tryCopyAssembly $fileName $architecture
                  }




                }
              }
            }

            if {![info exists ::no(copySqliteManagedFiles)]} then {
              tputs $::test_channel "---- copying \"managed\" files...\n"

              foreach fileName $managedFileNames {
                tryCopyAssembly $fileName
              }


            }
          }

          #
          # NOTE: Skip trying to load any files if instructed.
          #
          if {![info exists ::no(loadSqliteFiles)]} then {