summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2010-12-23 19:40:08 +0100
committerStefan Metzmacher <metze@samba.org>2010-12-31 04:03:28 +0100
commitade566d6b814784c0807351d0389ff98181b4205 (patch)
tree8be9e348be852471bb065fd0cb3837b855e3d65f /script
parentf1d15ea54c313e71fc032b2ed191bdecad868858 (diff)
downloadsamba-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
Diffstat (limited to 'script')
-rwxr-xr-xscript/autobuild.py28
-rwxr-xr-xscript/clean-source-tree.sh33
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