~ chicken-core (chicken-5) 6aca79676702b856f462a9416b365848eeb6dad1
commit 6aca79676702b856f462a9416b365848eeb6dad1
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Fri May 20 08:54:17 2011 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Fri May 20 08:54:17 2011 +0200
updated scrutiny test file; scrutiny-2 output is diffed as well
diff --git a/tests/runtests.sh b/tests/runtests.sh
index c9bed5d6..f9178671 100644
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -83,9 +83,20 @@ fi
diff -bu scrutiny.expected scrutiny.out
-$compile scrutiny-tests-2.scm -scrutinize -analyze-only -ignore-repository -types ../types.db
+$compile scrutiny-tests-2.scm -scrutinize -analyze-only -ignore-repository -types ../types.db 2>scrutiny-2.out
./a.out
+if test -n "$MSYSTEM"; then
+ dos2unix scrutiny.out
+fi
+
+# this is sensitive to gensym-names, so make it optional
+if test \! -f scrutiny-2.expected; then
+ cp scrutiny-2.out scrutiny-2.expected
+fi
+
+diff -bu scrutiny-2.expected scrutiny-2.out
+
echo "======================================== specialization tests ..."
rm -f foo.types foo.import.*
$compile specialization-test-1.scm -emit-type-file foo.types -specialize \
diff --git a/tests/scrutiny-2.expected b/tests/scrutiny-2.expected
new file mode 100644
index 00000000..8223e9ce
--- /dev/null
+++ b/tests/scrutiny-2.expected
@@ -0,0 +1,69 @@
+
+Warning: at toplevel:
+ pair?: in procedure call to `pair?', the predicate is called with an argument of type `pair' and will always return true
+
+Warning: at toplevel:
+ pair?: in procedure call to `pair?', the predicate is called with an argument of type `null' and will always return false
+
+Warning: at toplevel:
+ pair?: in procedure call to `pair?', the predicate is called with an argument of type `fixnum' and will always return false
+
+Warning: at toplevel:
+ pair?: in procedure call to `pair?', the predicate is called with an argument of type `float' and will always return false
+
+Warning: at toplevel:
+ list?: in procedure call to `list?', the predicate is called with an argument of type `list' and will always return true
+
+Warning: at toplevel:
+ list?: in procedure call to `list?', the predicate is called with an argument of type `fixnum' and will always return false
+
+Warning: at toplevel:
+ list?: in procedure call to `list?', the predicate is called with an argument of type `float' and will always return false
+
+Warning: at toplevel:
+ null?: in procedure call to `null?', the predicate is called with an argument of type `null' and will always return true
+
+Warning: at toplevel:
+ null?: in procedure call to `null?', the predicate is called with an argument of type `pair' and will always return false
+
+Warning: at toplevel:
+ null?: in procedure call to `null?', the predicate is called with an argument of type `fixnum' and will always return false
+
+Warning: at toplevel:
+ null?: in procedure call to `null?', the predicate is called with an argument of type `float' and will always return false
+
+Warning: at toplevel:
+ fixnum?: in procedure call to `fixnum?', the predicate is called with an argument of type `fixnum' and will always return true
+
+Warning: at toplevel:
+ fixnum?: in procedure call to `fixnum?', the predicate is called with an argument of type `float' and will always return false
+
+Warning: at toplevel:
+ exact?: in procedure call to `exact?', the predicate is called with an argument of type `fixnum' and will always return true
+
+Warning: at toplevel:
+ exact?: in procedure call to `exact?', the predicate is called with an argument of type `float' and will always return false
+
+Warning: at toplevel:
+ flonum?: in procedure call to `flonum?', the predicate is called with an argument of type `float' and will always return true
+
+Warning: at toplevel:
+ flonum?: in procedure call to `flonum?', the predicate is called with an argument of type `fixnum' and will always return false
+
+Warning: at toplevel:
+ inexact?: in procedure call to `inexact?', the predicate is called with an argument of type `float' and will always return true
+
+Warning: at toplevel:
+ inexact?: in procedure call to `inexact?', the predicate is called with an argument of type `fixnum' and will always return false
+
+Warning: at toplevel:
+ number?: in procedure call to `number?', the predicate is called with an argument of type `fixnum' and will always return true
+
+Warning: at toplevel:
+ number?: in procedure call to `number?', the predicate is called with an argument of type `float' and will always return true
+
+Warning: at toplevel:
+ number?: in procedure call to `number?', the predicate is called with an argument of type `number' and will always return true
+
+Warning: at toplevel:
+ number?: in procedure call to `number?', the predicate is called with an argument of type `null' and will always return false
diff --git a/tests/scrutiny.expected b/tests/scrutiny.expected
index d919b18b..893c0e96 100644
--- a/tests/scrutiny.expected
+++ b/tests/scrutiny.expected
@@ -13,7 +13,7 @@ type `number' which is always true:
Warning: in toplevel procedure `foo':
branches in conditional expression differ in the number of results:
-(if x5 (values '1 '2) (values '1 '2 (+ ...)))
+(if x5 (values '1 '2) (values '1 '2 (+ (+ ...))))
Warning: at toplevel:
scrutiny-tests.scm:18: in procedure call to `bar6', expected argument #2 of type `number', but was given an argument of type `symbol'
@@ -45,4 +45,19 @@ Warning: at toplevel:
Warning: at toplevel:
g89: in procedure call to `g89', expected a value of type `(procedure () *)', but was given a value of type `fixnum'
+Warning: in toplevel procedure `foo2':
+ scrutiny-tests.scm:57: in procedure call to `string-append', expected argument #1 of type `string', but was given an argument of type `number'
+
+Warning: at toplevel:
+ scrutiny-tests.scm:65: in procedure call to `foo3', expected argument #1 of type `string', but was given an argument of type `fixnum'
+
+Warning: in toplevel procedure `foo4':
+ scrutiny-tests.scm:70: in procedure call to `+', expected argument #1 of type `number', but was given an argument of type `string'
+
+Warning: in toplevel procedure `foo5':
+ scrutiny-tests.scm:76: in procedure call to `+', expected argument #1 of type `number', but was given an argument of type `string'
+
+Warning: in toplevel procedure `foo6':
+ scrutiny-tests.scm:82: in procedure call to `+', expected argument #1 of type `number', but was given an argument of type `string'
+
Warning: redefinition of standard binding: car
Trap