diff options
-rwxr-xr-x | script/autobuild.py | 28 | ||||
-rwxr-xr-x | script/clean-source-tree.sh | 33 |
2 files changed, 54 insertions, 7 deletions
diff --git a/script/autobuild.py b/script/autobuild.py index feb0aee9b7..c6959a2b93 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -22,40 +22,54 @@ tasks = { ("make basics", "make basics", "text/plain"), ("make", "make -j 4 everything", "text/plain"), # don't use too many processes ("install", "make install", "text/plain"), - ("test", "TDB_NO_FSYNC=1 make test FAIL_IMMEDIATELY=1", "text/plain") ], + ("test", "TDB_NO_FSYNC=1 make test FAIL_IMMEDIATELY=1", "text/plain"), + ("check-clean-tree", "../script/clean-source-tree.sh", "text/plain"), + ("clean", "make clean", "text/plain") ], # We have 'test' before 'install' because, 'test' should work without 'install' "source4" : [ ("configure", "./configure.developer ${PREFIX}", "text/plain"), ("make", "make -j", "text/plain"), ("test", "TDB_NO_FSYNC=1 make test FAIL_IMMEDIATELY=1", "text/plain"), - ("install", "make install", "text/plain") ], + ("install", "make install", "text/plain"), + ("check-clean-tree", "../script/clean-source-tree.sh", "text/plain"), + ("clean", "make clean", "text/plain") ], "source4/lib/ldb" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"), ("make", "make -j", "text/plain"), ("install", "make install", "text/plain"), - ("test", "TDB_NO_FSYNC=1 make test", "text/plain") ], + ("test", "TDB_NO_FSYNC=1 make test", "text/plain"), + ("check-clean-tree", "../../../script/clean-source-tree.sh", "text/plain"), + ("clean", "make clean", "text/plain") ], # We don't use TDB_NO_FSYNC=1 here, because we want to test the transaction code "lib/tdb" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"), ("make", "make -j", "text/plain"), ("install", "make install", "text/plain"), - ("test", "make test", "text/plain") ], + ("test", "make test", "text/plain"), + ("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"), + ("clean", "make clean", "text/plain") ], "lib/talloc" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"), ("make", "make -j", "text/plain"), ("install", "make install", "text/plain"), - ("test", "make test", "text/plain"), ], + ("test", "make test", "text/plain"), + ("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"), + ("clean", "make clean", "text/plain") ], "lib/replace" : [ ("autogen", "./autogen-waf.sh", "text/plain"), ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"), ("make", "make -j", "text/plain"), ("install", "make install", "text/plain"), - ("test", "make test", "text/plain"), ], + ("test", "make test", "text/plain"), + ("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"), + ("clean", "make clean", "text/plain") ], "lib/tevent" : [ ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"), ("make", "make -j", "text/plain"), ("install", "make install", "text/plain"), - ("test", "make test", "text/plain"), ], + ("test", "make test", "text/plain"), + ("check-clean-tree", "../script/clean-source-tree.sh", "text/plain"), + ("clean", "make clean", "text/plain") ], } retry_task = [ ( "retry", diff --git a/script/clean-source-tree.sh b/script/clean-source-tree.sh new file mode 100755 index 0000000000..d0107f6cd7 --- /dev/null +++ b/script/clean-source-tree.sh @@ -0,0 +1,33 @@ +#!/bin/sh +# + +N=`git clean -n | wc -l` +C=`git diff --stat HEAD | wc -l` + +test x"$N" != x"0" && { + echo "The tree has uncommitted changes!!! see stderr" + echo "The tree has uncommitted changes!!!" >&2 + + echo "git clean -n" >&2 + git clean -n >&2 + + test x"$C" != x"0" && { + echo "git diff -p --stat HEAD" >&2 + git diff -p --stat HEAD >&2 + } + + exit 1 +} + +test x"$C" != x"0" && { + echo "The tree has uncommitted changes!!! see stderr" + echo "The tree has uncommitted changes!!!" >&2 + + echo "git diff -p --stat HEAD" >&2 + git diff -p --stat HEAD >&2 + + exit 1 +} + +echo "clean tree" +exit 0 |