diff options
author | Stefan Metzmacher <metze@samba.org> | 2010-12-23 19:40:08 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2010-12-31 04:03:28 +0100 |
commit | ade566d6b814784c0807351d0389ff98181b4205 (patch) | |
tree | 8be9e348be852471bb065fd0cb3837b855e3d65f | |
parent | f1d15ea54c313e71fc032b2ed191bdecad868858 (diff) | |
download | samba-ade566d6b814784c0807351d0389ff98181b4205.tar.gz samba-ade566d6b814784c0807351d0389ff98181b4205.tar.bz2 samba-ade566d6b814784c0807351d0389ff98181b4205.zip |
script/autobuild.py: check that the source tree has no uncommitted changes after make
This makes sure the ABI files will be committed when the ABI changed.
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Dec 31 04:03:28 CET 2010 on sn-devel-104
-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 |