System.Data.SQLite
Check-in [679ac42a5b]
Not logged in

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

Overview
Comment:Update Eagle in externals to the beta 44 release.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 679ac42a5bca19ea70e2fd0ab06f6e4374081ecd
User & Date: mistachkin 2018-10-01 21:37:44
Context
2018-10-06
19:30
Bump version to 1.0.110.0. Update version history docs. check-in: d55a17840f user: mistachkin tags: trunk
2018-10-01
21:37
Update Eagle in externals to the beta 44 release. check-in: 679ac42a5b user: mistachkin tags: trunk
2018-09-25
01:03
Modify the NuGet packages to better handle what .NET Core seems to expect. Candidate fix for [d292f2e23d8a74e0]. check-in: aec1b8f7dd user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Externals/Eagle/bin/netFramework40/Eagle.dll.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/netFramework40/EagleShell.exe.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/netFramework40/EagleShell32.exe.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/netFramework40/x64/Spilornis.dll.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/netFramework40/x86/Spilornis.dll.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/netStandard20/Eagle.dll.

cannot compute difference between binary files

Changes to Externals/Eagle/bin/netStandard20/EagleShell.dll.

cannot compute difference between binary files

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

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
...
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
...
560
561
562
563
564
565
566



567
568
569
570
571
572
573
574
...
664
665
666
667
668
669
670
671
672
673


674
675
676
677
678
679
680
    variable securityToolsetUri; # DEFAULT: ${baseUri}/${urn}

    if {$force || ![info exists securityToolsetUri]} then {
      set securityToolsetUri {${baseUri}/${urn}}
    }

    #
    # NOTE: The URN, relative to the base URI, where license certificate
    #       requests should be sent.

    #
    variable licenseUrn; # DEFAULT: get_license_01

    if {$force || ![info exists licenseUrn]} then {
      set licenseUrn get_license_01


    }

    #
    # NOTE: The URI where license certificate requests should be sent.
    #
    variable licenseUri; # DEFAULT: ${baseUri}/${urn}

    if {$force || ![info exists licenseUri]} then {
      set licenseUri {${baseUri}/${urn}}
    }

    #
    # NOTE: The URN, relative to the base URI, where script evaluation
    #       requests should be submitted to the "safe" sandbox.

    #
    variable sandboxEvalUrn; # DEFAULT: eval_01

    if {$force || ![info exists sandboxEvalUrn]} then {
      set sandboxEvalUrn eval_01

    }

    #
    # NOTE: The URI where script evaluation requests should be submitted
    #       to the "safe" sandbox.
    #
    variable sandboxEvalUri; # DEFAULT: ${baseUri}/${urn}
................................................................................
  #
  proc requestLicenseCertificate {
          {channel stdout} {quiet false} } {
    setupPackageToolsetVars false

    variable baseUri
    variable licenseUri
    variable licenseUrn

    package require Eagle.Test

    set certificateRootDirectory [getTemporaryPath]

    set processDirectoryPrefix [file join $certificateRootDirectory \
        [appendArgs ea-lc-di- [pid] -]]
................................................................................
        return [lindex $processFileNames 0]
      }
    }

    set directory [appendArgs \
        $processDirectoryPrefix [string trim [clock seconds] -]]




    set urn [subst $licenseUrn]; set uri [subst $licenseUri]

    if {![isEagle] || [catch {
      object invoke System.Security.Principal.WindowsIdentity \
          GetCurrent.Name
    } userName]} then {
      #
      # HACK: Fallback to using a value from the "tcl_platform" array.
................................................................................
  #
  proc evaluateInRemoteSandbox {
          script {apiKey ""} {params ""} {channel stdout} {quiet false} } {
    setupPackageToolsetVars false

    variable baseUri
    variable sandboxEvalUri
    variable sandboxEvalUrn

    set urn [subst $sandboxEvalUrn]


    set uri [subst $sandboxEvalUri]

    set query [list go 1 raw 1 script $script]

    if {[string length $apiKey] > 0} then {
      lappend query apiKey $apiKey
    }







|
|
>

|

|
|
>
>












|
|
>

|

|
|
>







 







|







 







>
>
>
|







 







|

|
>
>







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
...
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
...
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
...
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
    variable securityToolsetUri; # DEFAULT: ${baseUri}/${urn}

    if {$force || ![info exists securityToolsetUri]} then {
      set securityToolsetUri {${baseUri}/${urn}}
    }

    #
    # NOTE: The list of URNs, relative to the base URI, where license
    #       certificate requests should be sent.  One of these will be
    #       selected at random.
    #
    variable licenseUrns; # DEFAULT: get_license_01 ... get_license_NN

    if {$force || ![info exists licenseUrns]} then {
      set licenseUrns [list \
          get_license_01 get_license_02 get_license_03 get_license_04 \
          get_license_05 get_license_06 get_license_07]
    }

    #
    # NOTE: The URI where license certificate requests should be sent.
    #
    variable licenseUri; # DEFAULT: ${baseUri}/${urn}

    if {$force || ![info exists licenseUri]} then {
      set licenseUri {${baseUri}/${urn}}
    }

    #
    # NOTE: The list of URNs, relative to the base URI, where script
    #       evaluation requests should be submitted to the "safe"
    #       sandbox.  One of these will be selected at random.
    #
    variable sandboxEvalUrns; # DEFAULT: eval_01 ... eval_NN

    if {$force || ![info exists sandboxEvalUrns]} then {
      set sandboxEvalUrns [list \
          eval_01 eval_02 eval_03 eval_04 eval_05 eval_06 eval_07]
    }

    #
    # NOTE: The URI where script evaluation requests should be submitted
    #       to the "safe" sandbox.
    #
    variable sandboxEvalUri; # DEFAULT: ${baseUri}/${urn}
................................................................................
  #
  proc requestLicenseCertificate {
          {channel stdout} {quiet false} } {
    setupPackageToolsetVars false

    variable baseUri
    variable licenseUri
    variable licenseUrns

    package require Eagle.Test

    set certificateRootDirectory [getTemporaryPath]

    set processDirectoryPrefix [file join $certificateRootDirectory \
        [appendArgs ea-lc-di- [pid] -]]
................................................................................
        return [lindex $processFileNames 0]
      }
    }

    set directory [appendArgs \
        $processDirectoryPrefix [string trim [clock seconds] -]]

    set urn [subst [lindex \
        $licenseUrns [expr {int(rand() * [llength $licenseUrns])}]]]

    set uri [subst $licenseUri]

    if {![isEagle] || [catch {
      object invoke System.Security.Principal.WindowsIdentity \
          GetCurrent.Name
    } userName]} then {
      #
      # HACK: Fallback to using a value from the "tcl_platform" array.
................................................................................
  #
  proc evaluateInRemoteSandbox {
          script {apiKey ""} {params ""} {channel stdout} {quiet false} } {
    setupPackageToolsetVars false

    variable baseUri
    variable sandboxEvalUri
    variable sandboxEvalUrns

    set urn [subst [lindex \
        $sandboxEvalUrns [expr {int(rand() * [llength $sandboxEvalUrns])}]]]

    set uri [subst $sandboxEvalUri]

    set query [list go 1 raw 1 script $script]

    if {[string length $apiKey] > 0} then {
      lappend query apiKey $apiKey
    }

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

3794
3795
3796
3797
3798
3799
3800






3801
3802
3803
3804
3805
3806
3807
          "---- HashOps cleanup results: " $result \n]

      catch {uplevel 1 [list object invoke -flags +NonPublic \
          Eagle._Components.Private.FactoryOps Cleanup]} result

      tputs $channel [appendArgs \
          "---- FactoryOps cleanup results: " $result \n]






    }
 
    proc evalWithTimeout { script {milliseconds 2000} {resultVarName ""} } {
      #
      # NOTE: Verify that the number of milliseconds requested is greater than
      #       zero.
      #







>
>
>
>
>
>







3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
          "---- HashOps cleanup results: " $result \n]

      catch {uplevel 1 [list object invoke -flags +NonPublic \
          Eagle._Components.Private.FactoryOps Cleanup]} result

      tputs $channel [appendArgs \
          "---- FactoryOps cleanup results: " $result \n]

      catch {uplevel 1 [list object invoke -flags +NonPublic \
          Eagle._Components.Private.ScriptOps ClearInterpreterCache]} result

      tputs $channel [appendArgs \
          "---- ScriptOps cleanup results: " $result \n]
    }
 
    proc evalWithTimeout { script {milliseconds 2000} {resultVarName ""} } {
      #
      # NOTE: Verify that the number of milliseconds requested is greater than
      #       zero.
      #

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

212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
      set fileName [appendArgs \" $fileName \"]
      set directory [appendArgs \" $directory \"]

      if {[catch {
        eval exec -success Success [subst $unzipExtractCommand]
      } error]} then {
        error [appendArgs \
            "could not extract archive \"" $fileName "\": " $error]
      }
    } else {
      unzipMustBeInstalled

      if {[catch {
        eval exec [subst $unzipExtractCommand]
      } error]} then {







|







212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
      set fileName [appendArgs \" $fileName \"]
      set directory [appendArgs \" $directory \"]

      if {[catch {
        eval exec -success Success [subst $unzipExtractCommand]
      } error]} then {
        error [appendArgs \
            "could not extract archive " $fileName ": " $error]
      }
    } else {
      unzipMustBeInstalled

      if {[catch {
        eval exec [subst $unzipExtractCommand]
      } error]} then {

Changes to Externals/Eagle/lib/Test1.0/constraints.eagle.

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
..
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
....
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
....
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
        CERTIFICATE_PLUGIN CERTIFICATE_POLICY CERTIFICATE_RENEWAL \
        CODE_ANALYSIS COM_TYPE_CACHE CONFIGURATION CONSOLE DAEMON DATA \
        DEAD_CODE DEBUG DEBUGGER DEBUGGER_ARGUMENTS DEBUGGER_ENGINE \
        DEBUGGER_EXECUTE DEBUGGER_EXPRESSION DEBUGGER_VARIABLE DEBUG_TRACE \
        DEBUG_WRITE DEMO_EDITION DRAWING DYNAMIC EAGLE EMBEDDED_LIBRARY \
        EMBED_CERTIFICATES EMIT ENTERPRISE_LOCKDOWN EXECUTE_CACHE \
        EXPRESSION_FLAGS FAST_ERRORCODE FAST_ERRORINFO FOR_TEST_USE_ONLY \
        HAVE_SIZEOF HISTORY IA64 INTERACTIVE_COMMANDS INTERNALS_VISIBLE_TO \
        ISOLATED_INTERPRETERS ISOLATED_PLUGINS LIBRARY LICENSING \
        LICENSE_MANAGER LIMITED_EDITION LIST_CACHE MONO MONO_BUILD MONO_HACKS \
        MONO_LEGACY NATIVE NATIVE_PACKAGE NATIVE_THREAD_ID NATIVE_UTILITY \
        NATIVE_UTILITY_BSTR NETWORK NET_20 NET_20_FAST_ENUM NET_20_ONLY \
        NET_20_SP1 NET_20_SP2 NET_30 NET_35 NET_40 NET_45 NET_451 NET_452 \
        NET_46 NET_461 NET_462 NET_47 NET_471 NET_472 NET_CORE_20 \
        NET_STANDARD_20 NON_WORKING_CODE NOTIFY NOTIFY_ACTIVE \
        NOTIFY_ARGUMENTS NOTIFY_EXCEPTION NOTIFY_EXECUTE NOTIFY_EXPRESSION \
        NOTIFY_GLOBAL NOTIFY_OBJECT OBSOLETE OBFUSCATION OFFICIAL PARSE_CACHE \
        PATCHLEVEL PLUGIN_COMMANDS POLICY_TRACE PREVIOUS_RESULT RANDOMIZE_ID \
        REMOTING RESULT_LIMITS SAMPLE SECURITY SERIALIZATION SHARED_ID_POOL \
        SHELL SOURCE_ID SOURCE_TIMESTAMP STATIC TCL TCL_KITS TCL_THREADED \
        TCL_THREADS TCL_UNICODE TCL_WRAPPER TEST TEST_PLUGIN THREADING \
................................................................................
    #
    if {$force || ![info exists ::no(monoVersions)]} then {
      return [list \
          [list 2 0] [list 2 2] [list 2 4] [list 2 6] [list 2 8] [list 2 10] \
          [list 2 11] [list 3 0] [list 3 1] [list 3 2] [list 3 4] [list 3 6] \
          [list 3 8] [list 3 10] [list 3 12] [list 4 0] [list 4 2] [list 4 4] \
          [list 4 6] [list 4 8] [list 5 0] [list 5 2] [list 5 4] [list 5 8] \
          [list 5 10] [list 5 12] [list 5 14]]
    } else {
      return [list]
    }
  }
 
  proc addKnownMonoConstraints { generic } {
    #
................................................................................

      tputs $channel yes\n
    } else {
      tputs $channel no\n
    }
  }
 
  proc checkForNetwork { channel host timeout } {
    tputs $channel [appendArgs \
        "---- checking for network connectivity to host \"" $host "\"... "]

    if {[isEagle]} then {
      #
      # NOTE: Running this check on the Mono 3.3.0 (or 3.4.0?) release build
      #       will lock up the process; therefore, skip it in that case.
................................................................................
        #
        # BUGBUG: Tcl 8.4 does not like this expression (and Tcl tries to
        #         compile it even though it will only actually ever be
        #         evaluated in Eagle).
        #
        set expr {[llength [info commands uri]] > 0 && \
            [catch {uri ping $host $timeout} response] == 0 && \
            [lindex $response 0] in [list Success TimedOut] && \
            [string is integer -strict [lindex $response 1]] && \
            [lindex $response 1] <= $timeout}

        #
        # NOTE: Does it look like we are able to contact the network host?
        #
        if {[expr $expr]} then {
          #
          # NOTE: Yes, it appears that it is available.







|
|
|
|
|
|
|







 







|







 







|







 







|
|
|







38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
..
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
....
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
....
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
        CERTIFICATE_PLUGIN CERTIFICATE_POLICY CERTIFICATE_RENEWAL \
        CODE_ANALYSIS COM_TYPE_CACHE CONFIGURATION CONSOLE DAEMON DATA \
        DEAD_CODE DEBUG DEBUGGER DEBUGGER_ARGUMENTS DEBUGGER_ENGINE \
        DEBUGGER_EXECUTE DEBUGGER_EXPRESSION DEBUGGER_VARIABLE DEBUG_TRACE \
        DEBUG_WRITE DEMO_EDITION DRAWING DYNAMIC EAGLE EMBEDDED_LIBRARY \
        EMBED_CERTIFICATES EMIT ENTERPRISE_LOCKDOWN EXECUTE_CACHE \
        EXPRESSION_FLAGS FAST_ERRORCODE FAST_ERRORINFO FOR_TEST_USE_ONLY \
        FORCE_TRACE HAVE_SIZEOF HISTORY IA64 INTERACTIVE_COMMANDS \
        INTERNALS_VISIBLE_TO ISOLATED_INTERPRETERS ISOLATED_PLUGINS LIBRARY \
        LICENSING LICENSE_MANAGER LIMITED_EDITION LIST_CACHE MONO MONO_BUILD \
        MONO_HACKS MONO_LEGACY NATIVE NATIVE_PACKAGE NATIVE_THREAD_ID \
        NATIVE_UTILITY NATIVE_UTILITY_BSTR NETWORK NET_20 NET_20_FAST_ENUM \
        NET_20_ONLY NET_20_SP1 NET_20_SP2 NET_30 NET_35 NET_40 NET_45 NET_451 \
        NET_452 NET_46 NET_461 NET_462 NET_47 NET_471 NET_472 NET_CORE_20 \
        NET_STANDARD_20 NON_WORKING_CODE NOTIFY NOTIFY_ACTIVE \
        NOTIFY_ARGUMENTS NOTIFY_EXCEPTION NOTIFY_EXECUTE NOTIFY_EXPRESSION \
        NOTIFY_GLOBAL NOTIFY_OBJECT OBSOLETE OBFUSCATION OFFICIAL PARSE_CACHE \
        PATCHLEVEL PLUGIN_COMMANDS POLICY_TRACE PREVIOUS_RESULT RANDOMIZE_ID \
        REMOTING RESULT_LIMITS SAMPLE SECURITY SERIALIZATION SHARED_ID_POOL \
        SHELL SOURCE_ID SOURCE_TIMESTAMP STATIC TCL TCL_KITS TCL_THREADED \
        TCL_THREADS TCL_UNICODE TCL_WRAPPER TEST TEST_PLUGIN THREADING \
................................................................................
    #
    if {$force || ![info exists ::no(monoVersions)]} then {
      return [list \
          [list 2 0] [list 2 2] [list 2 4] [list 2 6] [list 2 8] [list 2 10] \
          [list 2 11] [list 3 0] [list 3 1] [list 3 2] [list 3 4] [list 3 6] \
          [list 3 8] [list 3 10] [list 3 12] [list 4 0] [list 4 2] [list 4 4] \
          [list 4 6] [list 4 8] [list 5 0] [list 5 2] [list 5 4] [list 5 8] \
          [list 5 10] [list 5 12] [list 5 14] [list 5 16]]
    } else {
      return [list]
    }
  }
 
  proc addKnownMonoConstraints { generic } {
    #
................................................................................

      tputs $channel yes\n
    } else {
      tputs $channel no\n
    }
  }
 
  proc checkForNetwork { channel host timeout {successOnly false} } {
    tputs $channel [appendArgs \
        "---- checking for network connectivity to host \"" $host "\"... "]

    if {[isEagle]} then {
      #
      # NOTE: Running this check on the Mono 3.3.0 (or 3.4.0?) release build
      #       will lock up the process; therefore, skip it in that case.
................................................................................
        #
        # BUGBUG: Tcl 8.4 does not like this expression (and Tcl tries to
        #         compile it even though it will only actually ever be
        #         evaluated in Eagle).
        #
        set expr {[llength [info commands uri]] > 0 && \
            [catch {uri ping $host $timeout} response] == 0 && \
            [lindex $response 0] in ($successOnly ? [list Success] : \
            [list Success TimedOut]) && [string is integer -strict \
            [lindex $response 1]] && [lindex $response 1] <= $timeout}

        #
        # NOTE: Does it look like we are able to contact the network host?
        #
        if {[expr $expr]} then {
          #
          # NOTE: Yes, it appears that it is available.

Changes to Externals/Eagle/lib/Test1.0/prologue.eagle.

84
85
86
87
88
89
90








91
92
93
94
95
96
97
....
1060
1061
1062
1063
1064
1065
1066



1067
1068
1069
1070
1071
1072
1073
....
2052
2053
2054
2055
2056
2057
2058











2059
2060
2061
2062
2063
2064
2065
....
2612
2613
2614
2615
2616
2617
2618












2619
2620
2621
2622
2623
2624
2625
....
3150
3151
3152
3153
3154
3155
3156








3157
3158
3159
3160
3161
3162
3163
....
3487
3488
3489
3490
3491
3492
3493

3494
3495
3496
3497
3498
3499
3500
          [file join [file dirname [file dirname $test_all_path]] \
          Tests]]
    }

    unset expr
  }









  #
  # NOTE: Set the location of the test suite data, if necessary.
  #
  if {![info exists test_data_path]} then {
    set test_data_path [file join $test_path data]
  }

................................................................................
      $lib_path \"\n]

  tputs $test_channel [appendArgs "---- core binary path: \"" \
      $core_bin_path \"\n]

  tputs $test_channel [appendArgs "---- core library path: \"" \
      $core_lib_path \"\n]




  tputs $test_channel [appendArgs "---- test suite files located in: \"" \
      $test_all_path \"\n]

  tputs $test_channel [appendArgs "---- test script files located in: \"" \
      $test_path \"\n]

................................................................................
        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestSetNewInterpreterCallback*

        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestNewInterpreterCallback*
      }












      #
      # NOTE: Has custom match mode testing been disabled?
      #
      if {![info exists no(testMatchMode)]} then {
        #
        # NOTE: For test "stringMatch-101.1".
        #
................................................................................
        #
        # NOTE: For tests "resolver-1.*".
        #
        checkForObjectMember $test_channel Eagle._Tests.Default+Resolve \
            *ToString* Eagle._Tests.Default.Resolve.ToString
      }













      #
      # NOTE: Has TraceListener testing support been disabled?
      #
      if {![info exists no(testTraceListener)]} then {
        #
        # NOTE: For test "basic-1.74".
        #
................................................................................
    #
    # NOTE: For tests "fileIO-1.*".
    #
    if {![info exists no(file.dat)]} then {
      checkForFile $test_channel [file join $test_data_path file.dat]
    }









    #
    # NOTE: For test "garbage-1.1".
    #
    if {![info exists no(garbage.txt)]} then {
      checkForFile $test_channel [file join $test_data_path garbage.txt]
    }

................................................................................
    checkForOperatingSystemUpdate $test_channel KB936929
    checkForOperatingSystemUpdate $test_channel KB976932
    checkForOperatingSystemUpdate $test_channel "November Update"
    checkForOperatingSystemUpdate $test_channel "Anniversary Update"
    checkForOperatingSystemUpdate $test_channel "Creators Update"
    checkForOperatingSystemUpdate $test_channel "Fall Creators Update"
    checkForOperatingSystemUpdate $test_channel "April 2018 Update"

  }

  if {![info exists no(scriptLibrary)]} then {
    checkForScriptLibrary $test_channel
  }

  if {![info exists no(tclOptions)]} then {







>
>
>
>
>
>
>
>







 







>
>
>







 







>
>
>
>
>
>
>
>
>
>
>







 







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







 







>
>
>
>
>
>
>
>







 







>







84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
....
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
....
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
....
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
....
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
....
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
          [file join [file dirname [file dirname $test_all_path]] \
          Tests]]
    }

    unset expr
  }

  #
  # NOTE: Set the location of the home directory for the current
  #       user.
  #
  if {![info exists test_home_path]} then {
    set test_home_path [file normalize ~]
  }

  #
  # NOTE: Set the location of the test suite data, if necessary.
  #
  if {![info exists test_data_path]} then {
    set test_data_path [file join $test_path data]
  }

................................................................................
      $lib_path \"\n]

  tputs $test_channel [appendArgs "---- core binary path: \"" \
      $core_bin_path \"\n]

  tputs $test_channel [appendArgs "---- core library path: \"" \
      $core_lib_path \"\n]

  tputs $test_channel [appendArgs "---- test home path: \"" \
      $test_home_path \"\n]

  tputs $test_channel [appendArgs "---- test suite files located in: \"" \
      $test_all_path \"\n]

  tputs $test_channel [appendArgs "---- test script files located in: \"" \
      $test_path \"\n]

................................................................................
        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestSetNewInterpreterCallback*

        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestNewInterpreterCallback*
      }

      #
      # NOTE: Has use interpreter callback testing support been disabled?
      #
      if {![info exists no(testUseInterpreter)]} then {
        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestSetUseInterpreterCallback*

        checkForObjectMember $test_channel Eagle._Tests.Default \
            *TestUseInterpreterCallback*
      }

      #
      # NOTE: Has custom match mode testing been disabled?
      #
      if {![info exists no(testMatchMode)]} then {
        #
        # NOTE: For test "stringMatch-101.1".
        #
................................................................................
        #
        # NOTE: For tests "resolver-1.*".
        #
        checkForObjectMember $test_channel Eagle._Tests.Default+Resolve \
            *ToString* Eagle._Tests.Default.Resolve.ToString
      }

      #
      # NOTE: Has script limiter testing support been disabled?
      #
      if {![info exists no(testLimiter)]} then {
        #
        # NOTE: For tests "interp-1.90?".
        #
        checkForObjectMember $test_channel \
            Eagle._Tests.Default+ScriptLimiter *ToString* \
            Eagle._Tests.Default.ScriptLimiter.ToString
      }

      #
      # NOTE: Has TraceListener testing support been disabled?
      #
      if {![info exists no(testTraceListener)]} then {
        #
        # NOTE: For test "basic-1.74".
        #
................................................................................
    #
    # NOTE: For tests "fileIO-1.*".
    #
    if {![info exists no(file.dat)]} then {
      checkForFile $test_channel [file join $test_data_path file.dat]
    }

    #
    # NOTE: For tests "fileIO-5.6.*".
    #
    if {![info exists no(HomeDocuments)]} then {
      checkForFile $test_channel [file join \
          $test_home_path Documents] HomeDocuments
    }

    #
    # NOTE: For test "garbage-1.1".
    #
    if {![info exists no(garbage.txt)]} then {
      checkForFile $test_channel [file join $test_data_path garbage.txt]
    }

................................................................................
    checkForOperatingSystemUpdate $test_channel KB936929
    checkForOperatingSystemUpdate $test_channel KB976932
    checkForOperatingSystemUpdate $test_channel "November Update"
    checkForOperatingSystemUpdate $test_channel "Anniversary Update"
    checkForOperatingSystemUpdate $test_channel "Creators Update"
    checkForOperatingSystemUpdate $test_channel "Fall Creators Update"
    checkForOperatingSystemUpdate $test_channel "April 2018 Update"
    checkForOperatingSystemUpdate $test_channel "October 2018 Update"
  }

  if {![info exists no(scriptLibrary)]} then {
    checkForScriptLibrary $test_channel
  }

  if {![info exists no(tclOptions)]} then {