diff --git a/ansi-tests/doit1.lsp b/ansi-tests/doit1.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..5884f7c74cf755e2fde27c4c37a5e98f92f56a08
--- /dev/null
+++ b/ansi-tests/doit1.lsp
@@ -0,0 +1,18 @@
+;;; Uncomment the next line to make MAKE-STRING and MAKE-SEQUENCE
+;;; tests require that a missing :initial-element argument defaults
+;;; to a single value, rather than leaving the string/sequence filled
+;;; with arbitrary legal garbage.
+;; (pushnew :ansi-tests-strict-initial-element *features*)
+
+#+allegro (setq *enclose-printer-errors* nil)
+
+;;; Remove compiled files
+(let* ((fn (compile-file-pathname "doit.lsp"))
+       (type (pathname-type fn))
+       (dir-pathname (make-pathname :name :wild :type type))
+       (files (directory dir-pathname)))
+  (assert type)
+  (assert (not (string-equal type "lsp")))
+  (mapc #'delete-file files))
+
+(load "gclload1.lsp")
diff --git a/ansi-tests/doit2.lsp b/ansi-tests/doit2.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..61b13aefbf3c7af18b5dd40a3c94928148c1aa85
--- /dev/null
+++ b/ansi-tests/doit2.lsp
@@ -0,0 +1,19 @@
+#+allegro
+(progn
+  (rt:disable-note :nil-vectors-are-strings)
+  (rt:disable-note :standardized-package-nicknames)
+  (rt:disable-note :type-of/strict-builtins)
+  (rt:disable-note :assume-no-simple-streams)
+  (rt:disable-note :assume-no-gray-streams))
+
+(in-package :cl-test)
+
+;;; These two tests will misbehave if the tests are being
+;;; invoked from a file that is being loaded, so remove them
+(when *load-pathname*
+  (mapc #'regression-test:rem-test '(load-pathname.1 load-truename.1)))
+
+(time (regression-test:do-tests))
+
+#+allegro (cl-user::exit)
+#+(or cmu sbcl gcl armedbear) (cl-user::quit)
diff --git a/ansi-tests/load-characters.lsp b/ansi-tests/load-characters.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..3fcdb50ddfcb924e8bdae4d31d8fc9b8b71d20a6
--- /dev/null
+++ b/ansi-tests/load-characters.lsp
@@ -0,0 +1,11 @@
+;-*- Mode:     Lisp -*-
+;;;; Author:   Paul Dietz
+;;;; Created:  Thu Jun 23 20:12:44 2005
+;;;; Contains: Load character tests
+
+(in-package :cl-test)
+
+(compile-and-load "char-aux.lsp")
+(load "character.lsp")
+(load "char-compare.lsp")
+(load "name-char.lsp")
diff --git a/ansi-tests/load-misc.lsp b/ansi-tests/load-misc.lsp
new file mode 100644
index 0000000000000000000000000000000000000000..519ae0c11b1b1c953d50701cd4828b9c114a84f0
--- /dev/null
+++ b/ansi-tests/load-misc.lsp
@@ -0,0 +1,12 @@
+;-*- Mode:     Lisp -*-
+;;;; Author:   Paul Dietz
+;;;; Created:  Thu Jun 23 20:14:32 2005
+;;;; Contains: Load misc. tests
+
+;;; Miscellaneous tests, mostly tests that failed in random testing
+;;; on various implementations
+(load "misc.lsp")
+
+;;; Misc. tests dealing with type propagation in CMUCL
+(load "misc-cmucl-type-prop.lsp")
+
diff --git a/ansi-tests/makefile b/ansi-tests/makefile
index 2562d9fd65cb91faa154aa7dfd0a015bdaa52896..3b2004e57963ca7dd2f5df29e84f5f2376df2911 100644
--- a/ansi-tests/makefile
+++ b/ansi-tests/makefile
@@ -1,5 +1,5 @@
 # LISP=gcl
-# LISP=sbcl --noinform
+LISP=sbcl --noinform
 # LISP=~/sbcl/src/runtime/sbcl --core ~/sbcl/output/sbcl.core --noinform
 # LISP=clisp -ansi -q
 # LISP=abcl
@@ -11,6 +11,84 @@ test:
 	@rm -rf scratch
 	cat doit.lsp | $(LISP) | tee test.out
 
+test-symbols:
+	(cat doit1.lsp ; echo "(load \"load-symbols.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-symbols.out
+
+test-eval-and-compile:
+	(cat doit1.lsp ; echo "(load \"load-eval-and-compile.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-eval-and-compile.out
+
+test-data-and-control-flow:
+	(cat doit1.lsp ; echo "(load \"load-data-and-control-flow.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-data-and-control-flow.out
+
+test-iteration:
+	(cat doit1.lsp ; echo "(load \"load-iteration.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-iteration.out
+
+test-objects:
+	(cat doit1.lsp ; echo "(load \"load-objects.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-objects.out
+
+test-conditions:
+	(cat doit1.lsp ; echo "(load \"load-conditions.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-conditions.out
+
+test-cons:
+	(cat doit1.lsp ; echo "(load \"load-cons.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-cons.out
+
+test-arrays:
+	(cat doit1.lsp ; echo "(load \"load-arrays.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-arrays.out
+
+test-hash-tables:
+	(cat doit1.lsp ; echo "(load \"load-hash-tables.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-hash-tables.out
+
+test-packages:
+	(cat doit1.lsp ; echo "(load \"load-packages.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-packages.out
+
+test-numbers:
+	(cat doit1.lsp ; echo "(load \"load-numbers.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-numbers.out
+
+test-sequences:
+	(cat doit1.lsp ; echo "(load \"load-sequences.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-sequences.out
+
+test-structures:
+	(cat doit1.lsp ; echo "(load \"load-structures.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-structures.out
+
+test-types-and-class:
+	(cat doit1.lsp ; echo "(load \"load-types-and-class.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-types-and-class.out
+
+test-strings:
+	(cat doit1.lsp ; echo "(load \"load-strings.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-strings.out
+
+test-characters:
+	(cat doit1.lsp ; echo "(load \"load-characters.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-characters.out
+
+test-pathnames:
+	(cat doit1.lsp ; echo "(load \"load-pathnames.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-pathnames.out
+
+test-files:
+	(cat doit1.lsp ; echo "(load \"load-files.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-files.out
+
+test-streams:
+	(cat doit1.lsp ; echo "(load \"load-streams.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-streams.out
+
+test-printer:
+	(cat doit1.lsp ; echo "(load \"load-printer.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-printer.out
+
+test-reader:
+	(cat doit1.lsp ; echo "(load \"load-reader.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-reader.out
+
+test-system-construction:
+	(cat doit1.lsp ; echo "(load \"load-system-construction.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-system-construction.out
+
+test-environment:
+	(cat doit1.lsp ; echo "(load \"load-environment.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-environment.out
+
+test-misc:
+	(cat doit1.lsp ; echo "(load \"load-misc.lsp\")"; cat doit2.lsp) | $(LISP) | tee test-misc.out
+
+test-all: test-symbols test-eval-and-compile test-data-and-control-flow test-iteration test-objects \
+         test-conditions test-cons test-arrays test-hash-tables test-packages test-numbers \
+         test-sequences test-structures test-types-and-class test-strings test-characters test-pathnames \
+         test-files test-streams test-printer test-reader test-system-construction test-environment \
+         test-misc
+
 test-compiled:
 	@rm -rf scratch
 	echo "(load \"compileit.lsp\")" | $(LISP) | tee test.out
@@ -55,7 +133,7 @@ rt_1000_8:
 
 
 clean:
-	@rm -f test.out *.cls *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl *.abcl *.fas *.lib \#*\#
+	@rm -f test*.out *.cls *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl *.abcl *.fas *.lib \#*\#
 	@(cd beyond-ansi; $(MAKE) clean)
 	@rm -rf scratch/ scratch.txt
 	@rm -f foo.txt foo.lsp foo.dat