Index: Externals/Eagle/bin/Eagle.dll ================================================================== --- Externals/Eagle/bin/Eagle.dll +++ Externals/Eagle/bin/Eagle.dll cannot compute difference between binary files Index: Externals/Eagle/bin/EagleShell.exe ================================================================== --- Externals/Eagle/bin/EagleShell.exe +++ Externals/Eagle/bin/EagleShell.exe cannot compute difference between binary files Index: Externals/Eagle/bin/x64/Spilornis.dll ================================================================== --- Externals/Eagle/bin/x64/Spilornis.dll +++ Externals/Eagle/bin/x64/Spilornis.dll cannot compute difference between binary files Index: Externals/Eagle/bin/x86/Spilornis.dll ================================================================== --- Externals/Eagle/bin/x86/Spilornis.dll +++ Externals/Eagle/bin/x86/Spilornis.dll cannot compute difference between binary files Index: Externals/Eagle/lib/Eagle1.0/init.eagle ================================================================== --- Externals/Eagle/lib/Eagle1.0/init.eagle +++ Externals/Eagle/lib/Eagle1.0/init.eagle @@ -1433,11 +1433,11 @@ # checking now. # if {$checkBuild} then { return [list [appendArgs \ "latest build " $patchLevel ", dated " $dateTime \ - ", is newer than running build " $enginePatchLevel \ + ", is newer than the running build " $enginePatchLevel \ ", dated " $engineDateTime] [list $baseUri \ $patchLevel] [list $notes]] } # @@ -1656,11 +1656,11 @@ # NOTE: The patch level from the line is less, we are more # up-to-date than the latest version? # return [list [appendArgs \ "running build " $enginePatchLevel ", dated " \ - $engineDateTime ", is newer than latest build " \ + $engineDateTime ", is newer than the latest build " \ $patchLevel ", dated " $dateTime]] } elseif {$checkBuild} then { # # NOTE: The patch levels are equal, we are up-to-date. # @@ -1688,11 +1688,12 @@ [array get scriptCount]]] } else { return [list "no update scripts were processed"] } } else { - return [list "could not determine if running build is the latest"] + return [list \ + "could not determine if running build is the latest build"] } } proc getReturnType { object member } { if {[string length $object] == 0 || [string length $member] == 0} then { ADDED Externals/Eagle/lib/Test1.0/all.eagle Index: Externals/Eagle/lib/Test1.0/all.eagle ================================================================== --- /dev/null +++ Externals/Eagle/lib/Test1.0/all.eagle @@ -0,0 +1,70 @@ +############################################################################### +# +# all.eagle -- +# +# This file contains a top-level script to run all of the Eagle tests. +# Execute it by invoking "source all.eagle". +# +# Extensible Adaptable Generalized Logic Engine (Eagle) +# Test Suite File +# +# Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. +# +# See the file "license.terms" for information on usage and redistribution of +# this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# RCS: @(#) $Id: $ +# +############################################################################### + +# +# NOTE: *WARNING* This file must be capable of being evaluated in both Tcl and +# Eagle in a completely "clean" interpreter; therefore, no script library +# procedures provided by the Eagle.Library or Eagle.Test packages may be +# used, including [isEagle], until after the test prologue has been +# evaluated (below). Unfortunately, this makes it somewhat impractical +# to evaluate the test prologue using the abstracted [runTestPrologue] +# script library procedure from the Eagle.Test package. Instead, we must +# assume that the test prologue file exists in the same directory as this +# file and evaluate it using [source]. For third-party applications and +# plugins that are Eagle-specific (i.e. they cannot be used in Tcl), the +# following code snippet may be used instead of setting the "test_path" +# variable and then evaluating the "prologue.eagle" file directly: +# +# package require Eagle.Library +# package require Eagle.Test +# +# runTestPrologue +# +# When using the above code snippet, the following code snippet may also +# be used at the very end of the corresponding "all.eagle" file instead +# of evaluating the "epilogue.eagle" file directly: +# +# runTestEpilogue +# +if {![info exists test_path]} then { + set test_path [file normalize [file dirname [info script]]] +} + +source [file join $test_path prologue.eagle] + +set no(prologue.eagle) true +set no(epilogue.eagle) true + +set test_time [time { + runAllTests $test_channel $test_path \ + [getTestFiles [list $test_path] $test_flags(-file) \ + $test_flags(-notFile)] \ + [list [file tail [info script]] *.tcl pkgIndex.eagle \ + constraints.eagle epilogue.eagle prologue.eagle] +}] + +tputs $test_channel [appendArgs "---- all tests completed in " $test_time \n] +unset test_time + +unset no(epilogue.eagle) +unset no(prologue.eagle) + +if {[array size no] == 0} then {unset no} + +source [file join $test_path epilogue.eagle] Index: Externals/Eagle/lib/Test1.0/prologue.eagle ================================================================== --- Externals/Eagle/lib/Test1.0/prologue.eagle +++ Externals/Eagle/lib/Test1.0/prologue.eagle @@ -400,28 +400,32 @@ # tests that may require it, if necessary. # if {![info exists test_tclsh]} then { # # NOTE: When running in Eagle, more complex logic is required to - # determine the Tcl shell to use for the various tests that - # require it. Also, this same logic is used with Tcl when it - # is not running from an instance of the Tcl shell executable. + # determine the native Tcl shell to use for the various tests + # that require it. Also, this same logic is used with Tcl + # when it is not running from an instance of the Tcl shell + # executable. # if {[isEagle] || ![string match tclsh* $bin_file]} then { if {[info exists test_flags(-tclsh)] && \ [string length $test_flags(-tclsh)] > 0} then { # - # NOTE: Use the Tcl shell specified via the command line. + # NOTE: Use the native Tcl shell specified via the command line. # set test_tclsh $test_flags(-tclsh) } else { if {![info exists no(getTclShellFileName)]} then { # - # NOTE: Attempt to automatically select a Tcl shell to use. + # NOTE: Attempt to automatically select the native Tcl shell + # to use. # - tputs $test_channel \ - "==== WARNING: attempting automatic Tcl shell selection...\n" + if {![info exists no(warningForTclShell)]} then { + tputs $test_channel \ + "==== WARNING: attempting automatic Tcl shell selection...\n" + } set test_tclsh [getTclShellFileName true] } else { # # NOTE: Skip detection and use the fallback default. @@ -440,11 +444,11 @@ # the interpreter and issue warnings if any are found. The warning # may be used to explain subsequent test failures due to the extra # plugins being loaded (i.e. there are some tests are sensitive to # having "unexpected" plugins loaded). # - if {[isEagle]} then { + if {[isEagle] && ![info exists no(warningForPlugin)]} then { foreach loaded [info loaded] { # # HACK: This code assumes that all plugins in the "Eagle._Plugins" # namespace belong to the Eagle core library itself. # @@ -544,11 +548,11 @@ tputs $test_channel [appendArgs "---- test suffix: " \ [expr {[info exists test_suffix] ? \ $test_suffix : ""}] \n] - if {[isEagle]} then { + if {[isEagle] && ![info exists no(warningForStrongName)]} then { catch {info engine PublicKeyToken} publicKeyToken if {[string length $publicKeyToken] == 0} then { # # NOTE: The Eagle core library is not strong name signed. This is not an @@ -1400,17 +1404,33 @@ # # NOTE: For test "debug-1.3". # checkForObjectMember $test_channel Eagle._Tests.Default \ *TestShellMainCore* + } + # + # NOTE: Has quiet property testing support been disabled? + # + if {![info exists no(testSetQuiet)]} then { # # NOTE: For tests "basic-1.36" and "debug-1.3". # checkForObjectMember $test_channel Eagle._Tests.Default \ *TestSetQuiet* } + + # + # NOTE: Has complaint testing support been disabled? + # + if {![info exists no(testSetComplain)]} then { + # + # NOTE: This is not currently used by any tests. + # + checkForObjectMember $test_channel Eagle._Tests.Default \ + *TestSetComplain* + } # # NOTE: Has linked variable testing support been disabled? # if {![info exists no(testLinkedVariables)]} then {