System.Data.SQLite

Check-in [a65ec30361]
Login

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

Overview
Comment:Modify the 'compileCSharpWith' test suite helper procedure to prevent leaking the previous PID value when running tests on .NET Core.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a65ec303616fa04b37a17454b7e99d6d2ea3c165
User & Date: mistachkin 2018-04-29 06:02:56.585
Context
2018-05-06
20:09
Add preliminary support for the .NET Framework 4.7.2. Also, update the SQLite core library to the latest 3.23.2 release candidate. check-in: 880e608b09 user: mistachkin tags: trunk
2018-04-29
06:02
Modify the 'compileCSharpWith' test suite helper procedure to prevent leaking the previous PID value when running tests on .NET Core. check-in: a65ec30361 user: mistachkin tags: trunk
2018-04-28
15:59
Add preliminary support for the SQLITE_DBCONFIG_RESET_DATABASE control. check-in: 4e485e3e31 user: mistachkin tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to lib/System.Data.SQLite/common.eagle.
2357
2358
2359
2360
2361
2362
2363

2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408










2409
2410
2411
2412
2413
2414
2415

      return ""
    }

    proc compileCSharpWith {
            text memory symbols strict resultsVarName errorsVarName fileNames
            args } {

      #
      # NOTE: Since we are going to use this method name a lot, assign it to a
      #       variable first.
      #
      set add ReferencedAssemblies.Add

      #
      # NOTE: Create the base command to evaluate and add the property settings
      #       that are almost always needed by our unit tests (i.e. the System
      #       and System.Data assembly references).
      #
      set command [list \
          compileCSharp $text $memory $symbols $strict results errors \
          $add System.dll $add System.Data.dll $add System.Transactions.dll \
          $add System.Xml.dll]

      #
      # NOTE: Add all the provided file names as assembly references.
      #
      foreach fileName $fileNames {
        lappend command $add [getBinaryFileName $fileName]
      }

      #
      # NOTE: Add the extra arguments, if any, to the command to evaluate.
      #
      eval lappend command $args

      #
      # NOTE: Alias the compiler local results and errors variables to the
      #       variable names provided by our caller.
      #
      if {[string length $resultsVarName] > 0} then {
        upvar 1 $resultsVarName results
      }

      if {[string length $errorsVarName] > 0} then {
        upvar 1 $errorsVarName errors
      }

      #
      # NOTE: Evaluate the constructed [compileCSharp] command and return the
      #       result.
      #
      eval $command










    }

    proc isMemoryDb { fileName } {
      #
      # NOTE: Is the specified database file name really an in-memory database?
      #
      return [expr {$fileName eq ":memory:" || \







>
|
|
|
|
|

|
|
|
|
|
|
|
|
|

|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|

|
|
|

|
|
|
|
|
>
>
>
>
>
>
>
>
>
>







2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426

      return ""
    }

    proc compileCSharpWith {
            text memory symbols strict resultsVarName errorsVarName fileNames
            args } {
      try {
        #
        # NOTE: Since we are going to use this method name a lot, assign
        #       it to a variable first.
        #
        set add ReferencedAssemblies.Add

        #
        # NOTE: Create the base command to evaluate and add the property
        #       settings that are almost always needed by our unit tests
        #       (i.e. the System and System.Data assembly references).
        #
        set command [list \
            compileCSharp $text $memory $symbols $strict results \
            errors $add System.dll $add System.Data.dll $add \
            System.Transactions.dll $add System.Xml.dll]

        #
        # NOTE: Add all the provided file names as assembly references.
        #
        foreach fileName $fileNames {
          lappend command $add [getBinaryFileName $fileName]
        }

        #
        # NOTE: Add extra arguments, if any, to the command to evaluate.
        #
        eval lappend command $args

        #
        # NOTE: Alias the compiler local results and errors variables to
        #       the variable names provided by our caller.
        #
        if {[string length $resultsVarName] > 0} then {
          upvar 1 $resultsVarName results
        }

        if {[string length $errorsVarName] > 0} then {
          upvar 1 $errorsVarName errors
        }

        #
        # NOTE: Evaluate the constructed [compileCSharp] command and
        #       return the result.
        #
        eval $command
      } finally {
        #
        # NOTE: If the C# compiler was invoked using [exec], reset the
        #       previous process identifier now (i.e. that way, it does
        #       not show up as being "leaked").
        #
        if {[isDotNetCore]} then {
          catch {info previouspid true}
        }
      }
    }

    proc isMemoryDb { fileName } {
      #
      # NOTE: Is the specified database file name really an in-memory database?
      #
      return [expr {$fileName eq ":memory:" || \