summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml28
-rw-r--r--tests/uplevel.test10
-rw-r--r--tests/upvar.test11
3 files changed, 49 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index 1d5f4dd..b8d0873 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -394,6 +394,34 @@ matrix:
before_install:
- choco install make
- cd ${BUILD_DIR}
+# Test on Windows with GCC native
+ - name: "Windows/GCC/Shared"
+ os: windows
+ compiler: gcc
+ env:
+ - BUILD_DIR=win
+ - CFGOPT="--enable-64bit"
+ before_install:
+ - choco install make
+ - cd ${BUILD_DIR}
+ - name: "Windows/GCC/Static"
+ os: windows
+ compiler: gcc
+ env:
+ - BUILD_DIR=win
+ - CFGOPT="--enable-64bit --disable-shared"
+ before_install:
+ - choco install make
+ - cd ${BUILD_DIR}
+ - name: "Windows/GCC/Debug"
+ os: windows
+ compiler: gcc
+ env:
+ - BUILD_DIR=win
+ - CFGOPT="--enable-64bit --enable-symbols"
+ before_install:
+ - choco install make
+ - cd ${BUILD_DIR}
before_install:
- cd ${BUILD_DIR}
install:
diff --git a/tests/uplevel.test b/tests/uplevel.test
index be2268a..2cbea1a 100644
--- a/tests/uplevel.test
+++ b/tests/uplevel.test
@@ -83,6 +83,16 @@ test uplevel-3.4 {uplevel to same level} {
a1
} 55
+test uplevel-4.0.1 {error: non-existent level} -body {
+ uplevel #0 { uplevel { set y 222 } }
+} -returnCodes error -result {bad level "1"}
+test uplevel-4.0.2 {error: non-existent level} -setup {
+ interp create i
+} -body {
+ i eval { uplevel { set y 222 } }
+} -returnCodes error -result {bad level "1"} -cleanup {
+ interp delete i
+}
test uplevel-4.1 {error: non-existent level} -returnCodes error -body {
apply {{} {
uplevel #2 {set y 222}
diff --git a/tests/upvar.test b/tests/upvar.test
index 91153a6..d1d5f7b 100644
--- a/tests/upvar.test
+++ b/tests/upvar.test
@@ -304,6 +304,17 @@ test upvar-8.3 {errors in upvar command} -returnCodes error -body {
proc p1 {} {upvar a b c}
p1
} -result {bad level "a"}
+test upvar-8.3.1 {bad level for upvar (upvar at top-level, bug [775ee88560])} -body {
+ proc p1 {} { uplevel { upvar b b; lappend b UNEXPECTED } }
+ uplevel #0 { p1 }
+} -returnCodes error -result {bad level "1"}
+test upvar-8.3.2 {bad level for upvar (upvar at top-level, bug [775ee88560])} -setup {
+ interp create i
+} -body {
+ i eval { upvar b b; lappend b UNEXPECTED }
+} -returnCodes error -result {bad level "1"} -cleanup {
+ interp delete i
+}
test upvar-8.4 {errors in upvar command} -returnCodes error -body {
proc p1 {} {upvar 0 b b}
p1