From 8f6185b15479d9850d0e9033420d17ef427ae047 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 21 Jul 2017 19:54:36 +1200 Subject: [PATCH 01/18] autobuild: Move defaulttasks to one-per-line Signed-off-by: Andrew Bartlett --- script/autobuild.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/script/autobuild.py b/script/autobuild.py index ebe49bb75cb..fe1a96104fe 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -44,7 +44,21 @@ "retry" : "." } -defaulttasks = [ "ctdb", "samba", "samba-xc", "samba-o3", "samba-ctdb", "samba-libs", "samba-static", "samba-systemkrb5", "samba-nopython", "ldb", "tdb", "talloc", "replace", "tevent", "pidl" ] +defaulttasks = [ "ctdb", + "samba", + "samba-xc", + "samba-o3", + "samba-ctdb", + "samba-libs", + "samba-static", + "samba-systemkrb5", + "samba-nopython", + "ldb", + "tdb", + "talloc", + "replace", + "tevent", + "pidl" ] if os.environ.get("AUTOBUILD_SKIP_SAMBA_O3", "0") == "1": defaulttasks.remove("samba-o3") From 0946985ca4669c4bc88f46491ca94fd3cf04a76b Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 30 Jun 2017 11:13:55 +1200 Subject: [PATCH 02/18] autobuild: Run all "ad_dc" environment tests in samba-o3 This allows us not to run ad_dc tests in the main build, making the autobuild process faster. The ad_dc tests run in less than 50mins on travis-ci, which allows this part of the tests to be run. Signed-off-by: Andrew Bartlett --- script/autobuild.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/script/autobuild.py b/script/autobuild.py index fe1a96104fe..d3742101fd4 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -90,7 +90,7 @@ # We have 'test' before 'install' because, 'test' should work without 'install' "samba" : [ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), ("make", "make -j", "text/plain"), - ("test", "make test FAIL_IMMEDIATELY=1", "text/plain"), + ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--exclude-env=ad_dc'", "text/plain"), ("install", "make install", "text/plain"), ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"), ("clean", "make clean", "text/plain") ], @@ -107,11 +107,11 @@ " --cross-answers=./bin-xe/cross-answers.txt --with-selftest-prefix=./bin-xa/ab" + samba_configure_params, "text/plain"), ("compare-results", "script/compare_cc_results.py ./bin/c4che/default.cache.py ./bin-xe/c4che/default.cache.py ./bin-xa/c4che/default.cache.py", "text/plain")], - # test build with -O3 -- catches extra warnings and bugs, tests the ad_dc environments + # test build with -O3 -- catches extra warnings and bugs, tests the ad_dc environment "samba-o3" : [ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"), ("configure", "ADDITIONAL_CFLAGS='-O3' ./configure.developer --with-selftest-prefix=./bin/ab --abi-check-disable" + samba_configure_params, "text/plain"), ("make", "make -j", "text/plain"), - ("test", "make quicktest FAIL_IMMEDIATELY=1 TESTS='--include-env=ad_dc'", "text/plain"), + ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--include-env=ad_dc'", "text/plain"), ("install", "make install", "text/plain"), ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"), ("clean", "make clean", "text/plain") ], From f9974dc9b8527f4ffb2ad18d9286484740551011 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 30 Jun 2017 11:15:40 +1200 Subject: [PATCH 03/18] autobuild: Run nt4_dc and nt4_member tests in parallel These do not interact with the main AD DC environments, so can run in parallel Signed-off-by: Andrew Bartlett --- script/autobuild.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/script/autobuild.py b/script/autobuild.py index d3742101fd4..cc325ab1a9b 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -25,6 +25,7 @@ builddirs = { "ctdb" : "ctdb", "samba" : ".", + "samba-nt4" : ".", "samba-xc" : ".", "samba-o3" : ".", "samba-ctdb" : ".", @@ -46,6 +47,7 @@ defaulttasks = [ "ctdb", "samba", + "samba-nt4", "samba-xc", "samba-o3", "samba-ctdb", @@ -87,14 +89,22 @@ ("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' + # We have 'test' before 'install' because, 'test' should work without 'install (runs ad_dc_ntvfs and all the other envs)' "samba" : [ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), ("make", "make -j", "text/plain"), - ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--exclude-env=ad_dc'", "text/plain"), + ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--exclude-env=nt4_dc --exclude-env=nt4_member --exclude-env=ad_dc'", "text/plain"), ("install", "make install", "text/plain"), ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"), ("clean", "make clean", "text/plain") ], + # We split out this so the isolated nt4_dc tests do not wait for ad_dc or ad_dc_ntvfs tests (which are long) + "samba-nt4" : [ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), + ("make", "make -j", "text/plain"), + ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--include-env=nt4_dc --include-env=nt4_member'", "text/plain"), + ("install", "make install", "text/plain"), + ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"), + ("clean", "make clean", "text/plain") ], + "samba-test-only" : [ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab --abi-check-disable" + samba_configure_params, "text/plain"), ("make", "make -j", "text/plain"), ("test", 'make test FAIL_IMMEDIATELY=1 TESTS="${TESTS}"',"text/plain") ], From 42447bb42b8d14e19bda162d0ce62ddc39a63f4c Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 30 Jun 2017 11:44:58 +1200 Subject: [PATCH 04/18] travis-ci: Run new samba-nt4 environment Signed-off-by: Andrew Bartlett --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 645658b9e7d..db0e00f66df 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,7 @@ env: - TASK=samba-o3 - TASK=samba-nopython - TASK=samba-systemkrb5 + - TASK=samba-nt4 - TASK=ldb - TASK=tdb - TASK=talloc From 6ea214110f1575efc6007bd9e891084a10094052 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 5 Dec 2017 11:34:08 +1300 Subject: [PATCH 05/18] gitlab-ci: Add samba-nt4 environment to the CI This parallel build is de-coupled from the main samba build Signed-off-by: Andrew Bartlett --- .gitlab-ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2ae9eb4032d..e126434af7d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,6 +11,14 @@ build_samba: # this one takes about 4 hours to finish - python script/autobuild.py samba --verbose --tail --testbase /tmp/samba-testbase +build_samba_nt4: + stage: build + tags: + - autobuild + script: + # this one takes about 1 hours to finish + - python script/autobuild.py samba-nt4 --verbose --tail --testbase /tmp/samba-testbase + build_samba_others: stage: build tags: From ec6d591a69852e40a6b725211d1ae92d75064916 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 3 Mar 2018 19:51:29 +1300 Subject: [PATCH 06/18] autobuild: Move "none" environment to samba-none-env This takes this part of the test out of the main, slow samba task but also keeps it away from samba-o3 which is up against the 50min budget on travis-ci. Signed-off-by: Andrew Bartlett --- .gitlab-ci.yml | 8 ++++++++ .travis.yml | 1 + script/autobuild.py | 17 ++++++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e126434af7d..2a9b56fcfc1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,6 +19,14 @@ build_samba_nt4: # this one takes about 1 hours to finish - python script/autobuild.py samba-nt4 --verbose --tail --testbase /tmp/samba-testbase +build_samba_none_env: + stage: build + tags: + - autobuild + script: + # this one takes about 1 hours to finish + - python script/autobuild.py samba-none-env --verbose --tail --testbase /tmp/samba-testbase + build_samba_others: stage: build tags: diff --git a/.travis.yml b/.travis.yml index db0e00f66df..fb9d4565f22 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ env: - TASK=samba-libs - TASK=samba-static - TASK=samba-o3 + - TASK=samba-none-env - TASK=samba-nopython - TASK=samba-systemkrb5 - TASK=samba-nt4 diff --git a/script/autobuild.py b/script/autobuild.py index cc325ab1a9b..5930ea0fa4b 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -32,6 +32,7 @@ "samba-libs" : ".", "samba-static" : ".", "samba-test-only" : ".", + "samba-none-env" : ".", "samba-systemkrb5" : ".", "samba-nopython" : ".", "ldb" : "lib/ldb", @@ -53,6 +54,7 @@ "samba-ctdb", "samba-libs", "samba-static", + "samba-none-env", "samba-systemkrb5", "samba-nopython", "ldb", @@ -92,7 +94,11 @@ # We have 'test' before 'install' because, 'test' should work without 'install (runs ad_dc_ntvfs and all the other envs)' "samba" : [ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), ("make", "make -j", "text/plain"), - ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--exclude-env=nt4_dc --exclude-env=nt4_member --exclude-env=ad_dc'", "text/plain"), + ("test", "make test FAIL_IMMEDIATELY=1 " + "TESTS='--exclude-env=nt4_dc " + "--exclude-env=nt4_member " + "--exclude-env=ad_dc --exclude-env=none'", + "text/plain"), ("install", "make install", "text/plain"), ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"), ("clean", "make clean", "text/plain") ], @@ -175,6 +181,15 @@ ("allshared-configure", samba_libs_configure_samba + " --with-shared-modules=ALL", "text/plain"), ("allshared-make", "make -j", "text/plain")], + "samba-none-env" : [ + ("random-sleep", "script/random-sleep.sh 60 600", "text/plain"), + ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), + ("make", "make -j", "text/plain"), + ("test", "make test " + "FAIL_IMMEDIATELY=1 " + "TESTS='--include-env=none'", + "text/plain")], + "samba-static" : [ ("random-sleep", "script/random-sleep.sh 60 600", "text/plain"), # build with all modules static From acf8a41c56b8bcdae153a2f4de87584cce79dcda Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 3 Mar 2018 21:03:11 +1300 Subject: [PATCH 07/18] selftest: Do not run smb2.notify against nt4_dc and ad_dc This is a slow test and we need to keep the time on ad_dc down to below 50mins total for travis-ci. Signed-off-by: Andrew Bartlett --- source3/selftest/tests.py | 1 - 1 file changed, 1 deletion(-) diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 5232aecb609..411dba61798 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -518,7 +518,6 @@ def plansmbtorture4testsuite(name, env, options, description=''): plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD') elif t == "smb2.notify": plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required') - plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --signing=required') elif t == "smb2.dosmode": plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD') elif t == "smb2.kernel-oplocks": From c98f83831d70a5bc7cbc16be4630fa167ecea43b Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 3 Mar 2018 22:01:38 +1300 Subject: [PATCH 08/18] Move ad_dc tests out of samba-o3 as that build takes longer and we run out of time Signed-off-by: Andrew Bartlett --- .gitlab-ci.yml | 8 ++++++++ .travis.yml | 1 + script/autobuild.py | 12 ++++++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2a9b56fcfc1..a9093e8952e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,6 +19,14 @@ build_samba_nt4: # this one takes about 1 hours to finish - python script/autobuild.py samba-nt4 --verbose --tail --testbase /tmp/samba-testbase +build_samba_ad_dc: + stage: build + tags: + - autobuild + script: + # this one takes about 1 hours to finish + - python script/autobuild.py samba-ad-dc --verbose --tail --testbase /tmp/samba-testbase + build_samba_none_env: stage: build tags: diff --git a/.travis.yml b/.travis.yml index fb9d4565f22..61b1d8770d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,7 @@ env: - TASK=samba-nopython - TASK=samba-systemkrb5 - TASK=samba-nt4 + - TASK=samba-ad-dc - TASK=ldb - TASK=tdb - TASK=talloc diff --git a/script/autobuild.py b/script/autobuild.py index 5930ea0fa4b..91dc80bc7f7 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -33,6 +33,7 @@ "samba-static" : ".", "samba-test-only" : ".", "samba-none-env" : ".", + "samba-ad-dc" : ".", "samba-systemkrb5" : ".", "samba-nopython" : ".", "ldb" : "lib/ldb", @@ -55,6 +56,7 @@ "samba-libs", "samba-static", "samba-none-env", + "samba-ad-dc", "samba-systemkrb5", "samba-nopython", "ldb", @@ -111,6 +113,13 @@ ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"), ("clean", "make clean", "text/plain") ], + # We split out this so the isolated ad_dc tests do not wait for ad_dc_ntvfs tests (which are long) + "samba-ad-dc" : [ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"), + ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), + ("make", "make -j", "text/plain"), + ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--include-env=ad_dc'", "text/plain"), + ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")], + "samba-test-only" : [ ("configure", "./configure.developer --with-selftest-prefix=./bin/ab --abi-check-disable" + samba_configure_params, "text/plain"), ("make", "make -j", "text/plain"), ("test", 'make test FAIL_IMMEDIATELY=1 TESTS="${TESTS}"',"text/plain") ], @@ -123,11 +132,10 @@ " --cross-answers=./bin-xe/cross-answers.txt --with-selftest-prefix=./bin-xa/ab" + samba_configure_params, "text/plain"), ("compare-results", "script/compare_cc_results.py ./bin/c4che/default.cache.py ./bin-xe/c4che/default.cache.py ./bin-xa/c4che/default.cache.py", "text/plain")], - # test build with -O3 -- catches extra warnings and bugs, tests the ad_dc environment + # test build with -O3 -- catches extra warnings and bugs "samba-o3" : [ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"), ("configure", "ADDITIONAL_CFLAGS='-O3' ./configure.developer --with-selftest-prefix=./bin/ab --abi-check-disable" + samba_configure_params, "text/plain"), ("make", "make -j", "text/plain"), - ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--include-env=ad_dc'", "text/plain"), ("install", "make install", "text/plain"), ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"), ("clean", "make clean", "text/plain") ], From d13b266189e65f74f78ee7edad901bbb757009ab Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 3 Mar 2018 21:24:47 +1300 Subject: [PATCH 09/18] travis-ci: Only un-shallow for PIDL Signed-off-by: Andrew Bartlett --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 61b1d8770d7..2ab086bffb5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,5 +33,7 @@ before_install: - sudo apt-get install --assume-yes acl attr autoconf bind9utils bison build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev libcap-dev libcups2-dev libgnutls-dev libgpgme11-dev libjson-perl libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl libpopt-dev libreadline-dev nettle-dev perl perl-modules pkg-config python-all-dev python-crypto python-dbg python-dev python-dnspython python3-dnspython python-gpgme python3-gpgme python-markdown python3-markdown python3-dev xsltproc zlib1g-dev script: - - git fetch --unshallow + - if [ $TASK = "pidl" ]; then + git fetch --unshallow; + fi - ./script/autobuild.py --tail --testbase=/tmp $TASK From 8575c7f050dfacc7f6f31906a83060d805753b36 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 3 Mar 2018 23:39:24 +1300 Subject: [PATCH 10/18] travis-ci: Use Gold linker for faster builds Signed-off-by: Andrew Bartlett --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 2ab086bffb5..bfd60f5588e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,6 +31,10 @@ matrix: before_install: - sudo apt-get update -qq - sudo apt-get install --assume-yes acl attr autoconf bind9utils bison build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev libcap-dev libcups2-dev libgnutls-dev libgpgme11-dev libjson-perl libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl libpopt-dev libreadline-dev nettle-dev perl perl-modules pkg-config python-all-dev python-crypto python-dbg python-dev python-dnspython python3-dnspython python-gpgme python3-gpgme python-markdown python3-markdown python3-dev xsltproc zlib1g-dev + - sudo apt-get install --assume-yes binutils-gold + - sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20 + - sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10 + - sudo update-alternatives --set ld /usr/bin/ld.gold script: - if [ $TASK = "pidl" ]; then From 0fabbc84b59a1262d631d1274e683c2d03a74b57 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 4 Mar 2018 21:32:09 +1300 Subject: [PATCH 11/18] autobuild: Remove fileserver tests from the main build Signed-off-by: Andrew Bartlett --- .gitlab-ci.yml | 8 ++++++++ .travis.yml | 1 + script/autobuild.py | 10 ++++++++++ 3 files changed, 19 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a9093e8952e..5739a13a509 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,6 +19,14 @@ build_samba_nt4: # this one takes about 1 hours to finish - python script/autobuild.py samba-nt4 --verbose --tail --testbase /tmp/samba-testbase +build_samba_fileserver: + stage: build + tags: + - autobuild + script: + # this one takes about 1 hours to finish + - python script/autobuild.py samba-fileserver --verbose --tail --testbase /tmp/samba-testbase + build_samba_ad_dc: stage: build tags: diff --git a/.travis.yml b/.travis.yml index bfd60f5588e..deca01d6f5a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,7 @@ env: - TASK=samba-nopython - TASK=samba-systemkrb5 - TASK=samba-nt4 + - TASK=samba-fileserver - TASK=samba-ad-dc - TASK=ldb - TASK=tdb diff --git a/script/autobuild.py b/script/autobuild.py index 91dc80bc7f7..59fea48f5cc 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -26,6 +26,7 @@ "ctdb" : "ctdb", "samba" : ".", "samba-nt4" : ".", + "samba-fileserver" : ".", "samba-xc" : ".", "samba-o3" : ".", "samba-ctdb" : ".", @@ -50,6 +51,7 @@ defaulttasks = [ "ctdb", "samba", "samba-nt4", + "samba-fileserver", "samba-xc", "samba-o3", "samba-ctdb", @@ -99,6 +101,7 @@ ("test", "make test FAIL_IMMEDIATELY=1 " "TESTS='--exclude-env=nt4_dc " "--exclude-env=nt4_member " + "--exclude-env=fileserver " "--exclude-env=ad_dc --exclude-env=none'", "text/plain"), ("install", "make install", "text/plain"), @@ -113,6 +116,13 @@ ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"), ("clean", "make clean", "text/plain") ], + # We split out this so the isolated ad_dc tests do not wait for ad_dc_ntvfs tests (which are long) + "samba-fileserver" : [ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"), + ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), + ("make", "make -j", "text/plain"), + ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--include-env=fileserver'", "text/plain"), + ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")], + # We split out this so the isolated ad_dc tests do not wait for ad_dc_ntvfs tests (which are long) "samba-ad-dc" : [ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"), ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), From ccfcd5aa00a67167735a9c81f266879c32d8e116 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 4 Mar 2018 21:20:31 +1300 Subject: [PATCH 12/18] selftest: Move base.delaywrite tests to fileserver environment This aims to keep the ad_dc tests well below 50mins for travis CI and base.delaywrite is very slow. Signed-off-by: Andrew Bartlett --- source3/selftest/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 411dba61798..26b452276f9 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -404,7 +404,7 @@ def plansmbtorture4testsuite(name, env, options, description=''): for t in tests: if t == "base.delaywrite": - plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900') + plansmbtorture4testsuite(t, "fileserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900') elif t == "base.createx_access": plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900') elif t == "rap.sam": From 459d4a89c01896e698b232650c723bec5fd9ac92 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 4 Mar 2018 21:33:50 +1300 Subject: [PATCH 13/18] Move smbtorture3 tests to fileserver environment Signed-off-by: Andrew Bartlett --- source3/selftest/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 26b452276f9..0f3b2f7bfb0 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -84,7 +84,7 @@ def plansmbtorture4testsuite(name, env, options, description=''): "BAD-NBT-SESSION"] for t in tests: - plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"]) + plantestsuite("samba3.smbtorture_s3.plain(fileserver).%s" % t, "fileserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"]) plantestsuite("samba3.smbtorture_s3.crypt_client(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"]) if t == "TORTURE": # this is a negative test to verify that the server rejects From 675ef92e281c08efa328e26b6f3f560d58727303 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 4 Mar 2018 21:36:22 +1300 Subject: [PATCH 14/18] autobuild: Try and test different configure options for new environments Signed-off-by: Andrew Bartlett --- script/autobuild.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/autobuild.py b/script/autobuild.py index 59fea48f5cc..8a3cce21d1d 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -118,7 +118,7 @@ # We split out this so the isolated ad_dc tests do not wait for ad_dc_ntvfs tests (which are long) "samba-fileserver" : [ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"), - ("configure", "./configure.developer --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), + ("configure", "./configure.developer --without-ad-dc --without-ads --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"), ("make", "make -j", "text/plain"), ("test", "make test FAIL_IMMEDIATELY=1 TESTS='--include-env=fileserver'", "text/plain"), ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")], From 631368721bea138b8382c1d78825c5891c2346d6 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 4 Mar 2018 22:31:00 +1300 Subject: [PATCH 15/18] libsmb: Use the same #ifdef for is_our_primary_domain() as the only caller Signed-off-by: Andrew Bartlett --- source3/libsmb/namequery_dc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source3/libsmb/namequery_dc.c b/source3/libsmb/namequery_dc.c index eb34741defa..d08456590f6 100644 --- a/source3/libsmb/namequery_dc.c +++ b/source3/libsmb/namequery_dc.c @@ -32,7 +32,7 @@ Is this our primary domain ? **********************************************************************/ -#ifdef HAVE_KRB5 +#ifdef HAVE_ADS static bool is_our_primary_domain(const char *domain) { int role = lp_server_role(); From 60e1e6c6016bd22582891557aa610b2f61b95990 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 4 Mar 2018 22:57:22 +1300 Subject: [PATCH 16/18] s3-libnet: move rpc_join label into HAVE_ADS block with only caller Signed-off-by: Andrew Bartlett --- source3/libnet/libnet_join.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index 9b1bf342c19..3fe29b4be95 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -2653,9 +2653,10 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx, DEBUG(5, ("failed to precreate account in ou %s: %s", r->in.account_ou, ads_errstr(ads_status))); } + rpc_join: + #endif /* HAVE_ADS */ - rpc_join: if ((r->in.join_flags & WKSSVC_JOIN_FLAGS_JOIN_UNSECURE) && (r->in.join_flags & WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED)) { status = libnet_join_joindomain_rpc_unsecure(mem_ctx, r, cli); From 47842362afe5950d9613759d15ff206c27aec8ea Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 5 Mar 2018 08:04:22 +1300 Subject: [PATCH 17/18] selftest: Move slower base.deny1 and base.deny2 to fileserver environment This avoids these running in the ad_dc environment which we need to get under 50mins for travis-ci. Signed-off-by: Andrew Bartlett --- source3/selftest/tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 0f3b2f7bfb0..b0472910c0c 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -403,7 +403,7 @@ def plansmbtorture4testsuite(name, env, options, description=''): tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs for t in tests: - if t == "base.delaywrite": + if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2": plansmbtorture4testsuite(t, "fileserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900') elif t == "base.createx_access": plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900') From 942f45130357494b88d74738a5dcc54744b7627c Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 5 Mar 2018 17:08:51 +1300 Subject: [PATCH 18/18] selftest: Move samba.tests.samba_tool.dnscmd and samba.tests.samba_tool.sites to fl2008r2dc This helps reduce the runtime of ad_dc which needs to be under 50mins including build time to run on travis-ci. Signed-off-by: Andrew Bartlett --- source4/selftest/tests.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py index 4e397a8f134..60828ee20fb 100755 --- a/source4/selftest/tests.py +++ b/source4/selftest/tests.py @@ -609,8 +609,9 @@ def planoldpythontestsuite(env, module, name=None, extra_path=[], environ={}, ex planpythontestsuite("none", "samba.tests.samba_tool.provision_password_check") planpythontestsuite("none", "samba.tests.samba_tool.help") -planpythontestsuite("ad_dc:local", "samba.tests.samba_tool.sites") -planpythontestsuite("ad_dc:local", "samba.tests.samba_tool.dnscmd") +# Run these against fl2008r2dc to share the runtime load +planpythontestsuite("fl2008r2dc:local", "samba.tests.samba_tool.sites") +planpythontestsuite("fl2008r2dc:local", "samba.tests.samba_tool.dnscmd") planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.rpcecho") planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.registry", extra_args=['-U"$USERNAME%$PASSWORD"'])