about summary refs log tree commit diff stats
path: root/subx
diff options
context:
space:
mode:
Diffstat (limited to 'subx')
-rw-r--r--subx/000organization.cc1
-rwxr-xr-xsubx/build_and_test_until4
-rwxr-xr-xsubx/test_layers8
3 files changed, 13 insertions, 0 deletions
diff --git a/subx/000organization.cc b/subx/000organization.cc
index 753ddca1..320c0d4b 100644
--- a/subx/000organization.cc
+++ b/subx/000organization.cc
@@ -129,6 +129,7 @@ int main(int argc, char* argv[]) {
 
 //: our first directive; insert the following header at the start of the program
 :(before "End Includes")
+#include <assert.h>
 #include <stdlib.h>
 
 //: Without directives or with the :(code) directive, lines get added at the
diff --git a/subx/build_and_test_until b/subx/build_and_test_until
new file mode 100755
index 00000000..25daac2d
--- /dev/null
+++ b/subx/build_and_test_until
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+./clean top-level  # ignore subsidiary tools like tangle and cleave
+./build --until $1  &&  ./subx_bin test
diff --git a/subx/test_layers b/subx/test_layers
new file mode 100755
index 00000000..60697b3c
--- /dev/null
+++ b/subx/test_layers
@@ -0,0 +1,8 @@
+#!/bin/bash
+# Repeatedly stop building until successive layers, and run all tests built.
+
+for f in [0-9]*
+do
+  echo "=== $f"
+  ./build_and_test_until $f  ||  exit 1
+done