[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Fri May 10 10:03:03 UTC 2019


The branch, master has been updated
       via  a5d1df4a8f9 s3 rpc_client: Fix Asan stack use after scope
       via  71595201bea script/.gitlab-ci.yml: do not run o3 jobs if coverage enabled
       via  be005e53a4b .gitlab-ci.yml: add pages job to generate coverage report and publish to gitlab pages
       via  5b2a1a39015 .gitlab-ci.yml: add var SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE
       via  1b48d8a9cea script/autobuild.py: define LCOV_CMD and run it after each make test
       via  c5ae200b564 script/autobuild.py: add ENABLE_COVERAGE placeholder in configure cmd option
       via  0cdd8bd6e1d script/autobuild.py: replace more placeholders in cmds for coverage
       via  87ea55e4366 script/autobuild.py: add --enable-coverage option
       via  332f19c7f2c script/autobuild.py: mv optionparse to top
       via  9ea81c0e376 script/autobuild.py: mv find_git_root and gitroot to top
       via  af0e0c544b9 script/autobuild.py: rename sdir to test_source_dir
       via  21475e9556e wscript: mv --enable-coverage option to global
       via  b78048524da selftest/target/Samba4.pm: increase max_wait from 60s to 120s to avoid timeout failure in samba-ad-dc-backup
       via  d65b7641c84 s4 librpc rpc pyrpc: Ensure tevent_context deleted last
       via  165025a56e1 samba_dnsupdate: flush dns update cache file after write
      from  5733f678c8e s3/rpcclient: Fix bad (and illegal) func cast

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit a5d1df4a8f9c535ff2f7ef11d7dfea4d79d65e7e
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Fri May 10 08:47:46 2019 +1200

    s3 rpc_client: Fix Asan stack use after scope
    
    Fixes Asan error:
    
    ==1924==ERROR: AddressSanitizer: stack-use-after-scope on address
        0x7ffe63f873d0 at pc 0x7fb99dae1733 bp 0x7ffe63f86a00 sp 0x7ffe63f861a8
    READ of size 24 at 0x7ffe63f873d0 thread T0
        #0 0x7fb99dae1732  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x79732)
        #1 0x7fb99cfe5549 in memcpy
            /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
        #2 0x7fb99cfe5549 in ndr_push_bytes
            ../../librpc/ndr/ndr_basic.c:729
        #3 0x7fb99cfe5646 in ndr_push_array_uint8
            ../../librpc/ndr/ndr_basic.c:754
        #4 0x7fb99a69dd1b in ndr_push_netr_ChallengeResponse
            librpc/gen_ndr/ndr_netlogon.c:462
        #5 0x7fb99a6c5fab in ndr_push_netr_NetworkInfo
            librpc/gen_ndr/ndr_netlogon.c:556
        #6 0x7fb99a6c749d in ndr_push_netr_LogonLevel
             librpc/gen_ndr/ndr_netlogon.c:783
        #7 0x7fb99a7222de in ndr_push_netr_LogonSamLogonEx
             librpc/gen_ndr/ndr_netlogon.c:16547
        #8 0x7fb99c982c97 in dcerpc_binding_handle_call_send
             ../../librpc/rpc/binding_handle.c:416
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13936
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Fri May 10 10:02:21 UTC 2019 on sn-devel-184

commit 71595201bea9b3fa28357065fa137806f9220f38
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Tue May 7 11:49:46 2019 +1200

    script/.gitlab-ci.yml: do not run o3 jobs if coverage enabled
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit be005e53a4b15eb3e6cd3f0f08d3bba5d3925210
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Fri May 3 19:04:05 2019 +1200

    .gitlab-ci.yml: add pages job to generate coverage report and publish to gitlab pages
    
    - add new stage "report"
    - add pages job in "report" stage to collect .info files, generate html report and publish to gitlab pages.
    - only trigger when SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE == '--enable-coverage'
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 5b2a1a39015b2261d244127e8c604144d49220cf
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Fri May 3 18:35:44 2019 +1200

    .gitlab-ci.yml: add var SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE
    
    keep this var empty by default, since gcov will slow down the build process.
    set to `--enable-coverage` to enable coverage on demand.
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 1b48d8a9cea8eee16a621359d360877663614627
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Sat May 4 03:00:53 2019 +1200

    script/autobuild.py: define LCOV_CMD and run it after each make test
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit c5ae200b564d3eca50255ca9528d86219823777e
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Sat May 4 02:37:25 2019 +1200

    script/autobuild.py: add ENABLE_COVERAGE placeholder in configure cmd option
    
    The value will be "--enable-coverage" or "".
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 0cdd8bd6e1d531f0ee12f2f8124d7cc61184c633
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Mon May 6 15:14:43 2019 +1200

    script/autobuild.py: replace more placeholders in cmds for coverage
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 87ea55e43662d95a430856e2584c172c689dcaf5
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Sat May 4 02:32:40 2019 +1200

    script/autobuild.py: add --enable-coverage option
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 332f19c7f2c56e6835420647599884fed5e61d98
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Fri May 3 22:41:51 2019 +1200

    script/autobuild.py: mv optionparse to top
    
    so the rest of the code can use the option values directly.
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 9ea81c0e3764cbda449c1d98595981ce32a8558c
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Fri May 3 22:34:32 2019 +1200

    script/autobuild.py: mv find_git_root and gitroot to top
    
    so the reset of the code can use gitroot directly.
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit af0e0c544b9bf46967a91c1a177bc012a161f483
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Fri May 3 17:05:08 2019 +1200

    script/autobuild.py: rename sdir to test_source_dir
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 21475e9556e3088a99951abeea07cea500cce105
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Tue Apr 30 17:21:15 2019 +1200

    wscript: mv --enable-coverage option to global
    
    We want to enable gcov for all tasks, move it to global wscript.
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit b78048524da871ea4425e7dc3b9d09e2e1c43c64
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Tue May 7 11:20:55 2019 +1200

    selftest/target/Samba4.pm: increase max_wait from 60s to 120s to avoid timeout failure in samba-ad-dc-backup
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit d65b7641c84976c543ded8f0de5ab2da3c19b407
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Wed May 8 11:30:20 2019 +1200

    s4 librpc rpc pyrpc: Ensure tevent_context deleted last
    
    Ensure that the tevent_context is deleted after the connection, to
    prevent a use after free.
    
    Note: Py_DECREF calls dcerpc_interface_dealloc so the
    TALLOC_FREE(ret->mem_ctx) calls in the error paths of
    py_dcerpc_interface_init_helper needed removal.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13932
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 165025a56e14eca51f3db366300fe625d1f521b5
Author: Joe Guo <joeg at catalyst.net.nz>
Date:   Wed May 8 17:21:27 2019 +1200

    samba_dnsupdate: flush dns update cache file after write
    
    While running samba python tests with `coverage.py`, `make test` failed
    to start ad_dc env since dns_update_cache stays empty.
    Flush the file after write fix the issue.
    
    Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

-----------------------------------------------------------------------

Summary of changes:
 .gitlab-ci.yml                        |  71 +++++++++--
 buildtools/wafsamba/wscript           |  11 ++
 script/autobuild.py                   | 214 ++++++++++++++++++++--------------
 selftest/target/Samba4.pm             |   2 +-
 selftest/wscript                      |   9 --
 source3/rpc_client/cli_netlogon.c     |  13 ++-
 source4/librpc/rpc/pyrpc.c            |  18 +++
 source4/librpc/rpc/pyrpc.h            |   1 +
 source4/librpc/rpc/pyrpc_util.c       |  48 ++++----
 source4/scripting/bin/samba_dnsupdate |   1 +
 10 files changed, 249 insertions(+), 139 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a69db94ff36..fbf329178b4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,10 +3,13 @@
 stages:
   - images
   - build
+  - report
 
 variables:
   GIT_STRATEGY: fetch
   GIT_DEPTH: "3"
+  # "--enable-coverage" or ""
+  SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE: ""
   #
   # we run autobuild.py inside a samba CI docker image located on gitlab's registry
   # overwrite this variable if you want use your own image registry.
@@ -56,6 +59,8 @@ include:
     - df -h
     - cat /proc/swaps
     - free -h
+      # ld will fail if coverage enabled, force link ld to ld.bfd
+    - if [ -n "$SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE" ]; then sudo ln -sf $(which ld.bfd) $(which ld); fi
       # See bootstrap/.gitlab-ci.yml how to generate a new image
     - echo "SAMBA_CI_CONTAINER_REGISTRY[${SAMBA_CI_CONTAINER_REGISTRY}]"
     - echo "SAMBA_CI_CONTAINER_TAG[${SAMBA_CI_CONTAINER_TAG}]"
@@ -71,10 +76,10 @@ include:
     - free -h
   artifacts:
     expire_in: 1 week
-    when: on_failure
     paths:
       - "*.stdout"
       - "*.stderr"
+      - "*.info"
       - system-info.txt
   retry:
     max: 2
@@ -84,18 +89,18 @@ include:
   script:
     # gitlab predefines CI_JOB_NAME for each job. The gitlab job usually matches the
     # autobuild name, which means we can define a default template that runs most autobuild jobs
-    - echo "Running cmd script/autobuild.py $AUTOBUILD_JOB_NAME --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase"
-    - script/autobuild.py $AUTOBUILD_JOB_NAME    --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
+    - echo "Running cmd script/autobuild.py $AUTOBUILD_JOB_NAME $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase"
+    - script/autobuild.py $AUTOBUILD_JOB_NAME $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE  --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
 
 others:
   extends: .shared_template
   script:
-    - script/autobuild.py ldb              --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
-    - script/autobuild.py pidl             --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
-    - script/autobuild.py replace          --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
-    - script/autobuild.py talloc           --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
-    - script/autobuild.py tdb              --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
-    - script/autobuild.py tevent           --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
+    - script/autobuild.py ldb     $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
+    - script/autobuild.py pidl    $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
+    - script/autobuild.py replace $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
+    - script/autobuild.py talloc  $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
+    - script/autobuild.py tdb     $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
+    - script/autobuild.py tevent  $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE --verbose --nocleanup --keeplogs --tail --testbase /tmp/samba-testbase
 
 samba:
   extends: .shared_template
@@ -176,6 +181,50 @@ samba-nt4:
 samba-schemaupgrade:
   extends: .private_template
 
+# 'pages' is a special job which can publish artifacts in `public` dir to gitlab pages
+pages:
+  image: ${SAMBA_CI_CONTAINER_REGISTRY}/samba-ci-${SAMBA_CI_CONTAINER_IMAGE}:${SAMBA_CI_CONTAINER_TAG}
+  stage: report
+  tags:
+    - docker
+    - shared
+  dependencies:  # tell gitlab to download artifacts for these jobs
+    - samba
+    - samba-ad-dc-1
+    - samba-ad-dc-2
+    - samba-ad-dc-3
+    - samba-ad-dc-4
+    - samba-ad-dc-5
+    - samba-ad-dc-6
+    - samba-ad-dc-backup
+    - samba-ad-dc-ntvfs
+    - samba-ad-member
+    - samba-ctdb
+    - samba-fileserver
+    - samba-libs
+    - samba-none-env
+    - samba-nopython
+    - samba-nopython-py2
+    - samba-nt4
+    - samba-schemaupgrade
+    - samba-static
+    - samba-systemkrb5
+    - samba-xc
+    # - ctdb  # TODO
+    - others
+  script:
+    - ./configure.developer
+    - make -j
+    - lcov $(ls *.info | xargs -I{} echo -n "-a {} ") -o all.info
+    - genhtml all.info --output-directory public --prefix=$(pwd) --title "coverage report for $CI_COMMIT_REF_NAME $CI_COMMIT_SHORT_SHA"
+  artifacts:
+    expire_in: 30 days
+    paths:
+      - public
+  only:
+    variables:
+      - $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE == "--enable-coverage"
+
 #
 # We build samba-o3 on all supported distributions
 #
@@ -184,6 +233,10 @@ samba-schemaupgrade:
   extends: .shared_template
   variables:
     AUTOBUILD_JOB_NAME: samba-o3
+  only:
+    variables:
+      # do not run o3 for coverage since they are using different images
+      - $SAMBA_CI_AUTOBUILD_ENABLE_COVERAGE != "--enable-coverage"
 
 ubuntu1804-samba-o3:
   extends: .samba-o3-template
diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
index f1ebc1cea9e..2e14a326cb8 100644
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -102,6 +102,10 @@ def options(opt):
     gr.add_option('--enable-developer',
                    help=("Turn on developer warnings and debugging"),
                    action="store_true", dest='developer', default=False)
+    opt.add_option('--enable-coverage',
+                   help=("enable options necessary for code coverage "
+                         "reporting on selftest (default=no)"),
+                   action="store_true", dest='enable_coverage', default=False)
     def picky_developer_callback(option, opt_str, value, parser):
         parser.values.developer = True
         parser.values.picky_developer = True
@@ -278,6 +282,13 @@ def configure(conf):
     except:
         conf.env.ABI_CHECK = False
 
+    conf.env.enable_coverage = Options.options.enable_coverage
+    if conf.env.enable_coverage:
+        conf.ADD_LDFLAGS('-lgcov', testflags=True)
+        conf.ADD_CFLAGS('--coverage', testflags=True)
+        # disable abi check for coverage, otherwise ld will fail
+        conf.env.ABI_CHECK = False
+
     conf.env.GIT_LOCAL_CHANGES = Options.options.GIT_LOCAL_CHANGES
 
     conf.CHECK_UNAME()
diff --git a/script/autobuild.py b/script/autobuild.py
index 9e9d23bdcfa..13dd57987c4 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -31,6 +31,82 @@ os.environ["PYTHONUNBUFFERED"] = "1"
 # This speeds up testing remarkably.
 os.environ['TDB_NO_FSYNC'] = '1'
 
+
+def find_git_root():
+    '''get to the top of the git repo'''
+    p = os.getcwd()
+    while p != '/':
+        if os.path.isdir(os.path.join(p, ".git")):
+            return p
+        p = os.path.abspath(os.path.join(p, '..'))
+    return None
+
+
+gitroot = find_git_root()
+if gitroot is None:
+    raise Exception("Failed to find git root")
+
+
+def_testbase = os.getenv("AUTOBUILD_TESTBASE", "/memdisk/%s" % os.getenv('USER'))
+
+parser = OptionParser()
+parser.add_option("", "--tail", help="show output while running", default=False, action="store_true")
+parser.add_option("", "--keeplogs", help="keep logs", default=False, action="store_true")
+parser.add_option("", "--nocleanup", help="don't remove test tree", default=False, action="store_true")
+parser.add_option("", "--testbase", help="base directory to run tests in (default %s)" % def_testbase,
+                  default=def_testbase)
+parser.add_option("", "--passcmd", help="command to run on success", default=None)
+parser.add_option("", "--verbose", help="show all commands as they are run",
+                  default=False, action="store_true")
+parser.add_option("", "--rebase", help="rebase on the given tree before testing",
+                  default=None, type='str')
+parser.add_option("", "--pushto", help="push to a git url on success",
+                  default=None, type='str')
+parser.add_option("", "--mark", help="add a Tested-By signoff before pushing",
+                  default=False, action="store_true")
+parser.add_option("", "--fix-whitespace", help="fix whitespace on rebase",
+                  default=False, action="store_true")
+parser.add_option("", "--retry", help="automatically retry if master changes",
+                  default=False, action="store_true")
+parser.add_option("", "--email", help="send email to the given address on failure",
+                  type='str', default=None)
+parser.add_option("", "--email-from", help="send email from the given address",
+                  type='str', default="autobuild at samba.org")
+parser.add_option("", "--email-server", help="send email via the given server",
+                  type='str', default='localhost')
+parser.add_option("", "--always-email", help="always send email, even on success",
+                  action="store_true")
+parser.add_option("", "--daemon", help="daemonize after initial setup",
+                  action="store_true")
+parser.add_option("", "--branch", help="the branch to work on (default=master)",
+                  default="master", type='str')
+parser.add_option("", "--log-base", help="location where the logs can be found (default=cwd)",
+                  default=gitroot, type='str')
+parser.add_option("", "--attach-logs", help="Attach logs to mails sent on success/failure?",
+                  default=False, action="store_true")
+parser.add_option("", "--restrict-tests", help="run as make test with this TESTS= regex",
+                  default='')
+parser.add_option("--enable-coverage", dest='enable_coverage',
+                  action="store_const", const='--enable-coverage', default='',
+                  help="Add --enable-coverage option while configure")
+
+(options, args) = parser.parse_args()
+
+if options.retry:
+    if options.rebase is None:
+        raise Exception('You can only use --retry if you also rebase')
+
+testbase = "%s/b%u" % (options.testbase, os.getpid())
+test_master = "%s/master" % testbase
+test_prefix = "%s/prefix" % testbase
+test_tmpdir = "%s/tmp" % testbase
+os.environ['TMPDIR'] = test_tmpdir
+
+if options.enable_coverage:
+    LCOV_CMD = "cd ${TEST_SOURCE_DIR} && lcov --capture --directory . --output-file ${LOG_BASE}/${NAME}.info --rc 'geninfo_adjust_src_path=${TEST_SOURCE_DIR}/'"
+else:
+    LCOV_CMD = 'echo "lcov skipped since no --enable-coverage specified"'
+
 cleanup_list = []
 
 builddirs = {
@@ -71,12 +147,12 @@ if os.environ.get("AUTOBUILD_SKIP_SAMBA_O3", "0") == "1":
     defaulttasks.remove("samba-o3")
 
 ctdb_configure_params = " --enable-developer --picky-developer ${PREFIX}"
-samba_configure_params = " --picky-developer ${PREFIX} --with-profiling-data"
+samba_configure_params = " ${ENABLE_COVERAGE} --picky-developer ${PREFIX} --with-profiling-data"
 
 samba_libs_envvars = "PYTHONPATH=${PYTHON_PREFIX}:$PYTHONPATH"
 samba_libs_envvars += " PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig"
 samba_libs_envvars += " ADDITIONAL_CFLAGS='-Wmissing-prototypes'"
-samba_libs_configure_base = samba_libs_envvars + " ./configure --abi-check --enable-debug --picky-developer -C ${PREFIX}"
+samba_libs_configure_base = samba_libs_envvars + " ./configure --abi-check ${ENABLE_COVERAGE} --enable-debug --picky-developer -C ${PREFIX}"
 samba_libs_configure_libs = samba_libs_configure_base + " --bundled-libraries=cmocka,popt,NONE"
 samba_libs_configure_bundled_libs = " --bundled-libraries=!talloc,!pytalloc-util,!tdb,!pytdb,!ldb,!pyldb,!pyldb-util,!tevent,!pytevent,!popt"
 samba_libs_configure_samba = samba_libs_configure_base + samba_libs_configure_bundled_libs
@@ -136,6 +212,7 @@ tasks = {
                  "--exclude-env=schema_dc "
                  "'",
                  "text/plain"),
+                ("lcov", LCOV_CMD, "text/plain"),
                 ("install", "make install", "text/plain"),
                 ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
                 ("clean", "make clean", "text/plain")],
@@ -149,6 +226,7 @@ tasks = {
                      "--include-env=nt4_dc_schannel "
                      "--include-env=nt4_member "
                      "'", "text/plain"),
+                    ("lcov", LCOV_CMD, "text/plain"),
                     ("install", "make install", "text/plain"),
                     ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
                     ("clean", "make clean", "text/plain")],
@@ -162,6 +240,7 @@ tasks = {
                             "--include-env=maptoguest "
                             "--include-env=simpleserver "
                             "'", "text/plain"),
+                           ("lcov", LCOV_CMD, "text/plain"),
                            ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     "samba-ad-member": [("random-sleep", "script/random-sleep.sh 300 900", "text/plain"),
@@ -174,6 +253,7 @@ tasks = {
                          "--include-env=ad_member_idmap_ad "
                          "--include-env=ad_member_rfc2307 "
                          "'", "text/plain"),
+                        ("lcov", LCOV_CMD, "text/plain"),
                         ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     "samba-ad-dc-1": [("random-sleep", "script/random-sleep.sh 1 1", "text/plain"),
@@ -184,6 +264,7 @@ tasks = {
                        "--include-env=ad_dc_no_nss "
                        "--include-env=ad_dc_no_ntlm "
                        "'", "text/plain"),
+                      ("lcov", LCOV_CMD, "text/plain"),
                       ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     "samba-ad-dc-2": [("random-sleep", "script/random-sleep.sh 1 1", "text/plain"),
@@ -195,6 +276,7 @@ tasks = {
                          "--include-env=vampire_2000_dc "
                          "--include-env=rodc "
                          "'", "text/plain"),
+                        ("lcov", LCOV_CMD, "text/plain"),
                         ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     "samba-ad-dc-3": [("random-sleep", "script/random-sleep.sh 1 1", "text/plain"),
@@ -207,6 +289,7 @@ tasks = {
                          "--include-env=preforkrestartdc "
                          "--include-env=proclimitdc "
                          "'", "text/plain"),
+                        ("lcov", LCOV_CMD, "text/plain"),
                         ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     "samba-ad-dc-4": [("random-sleep", "script/random-sleep.sh 1 1", "text/plain"),
@@ -219,6 +302,7 @@ tasks = {
                          "--include-env=fl2008dc "
                          "--include-env=fl2008r2dc "
                          "'", "text/plain"),
+                        ("lcov", LCOV_CMD, "text/plain"),
                         ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     "samba-ad-dc-5": [("random-sleep", "script/random-sleep.sh 1 1", "text/plain"),
@@ -228,6 +312,7 @@ tasks = {
                          "TESTS='"
                          "--include-env=ad_dc_default "
                          "'", "text/plain"),
+                        ("lcov", LCOV_CMD, "text/plain"),
                         ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     "samba-ad-dc-6": [("random-sleep", "script/random-sleep.sh 1 1", "text/plain"),
@@ -237,6 +322,7 @@ tasks = {
                          "TESTS='"
                          "--include-env=ad_dc_slowtests "
                          "'", "text/plain"),
+                        ("lcov", LCOV_CMD, "text/plain"),
                         ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
 
@@ -248,6 +334,7 @@ tasks = {
                          "--include-env=schema_dc "
                          "--include-env=schema_pair_dc "
                          "'", "text/plain"),
+                        ("lcov", LCOV_CMD, "text/plain"),
                         ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     # We split out the ad_dc_ntvfs tests (which are long) so other test do not wait
@@ -260,6 +347,7 @@ tasks = {
                        "TESTS='"
                        "--include-env=ad_dc_ntvfs "
                        "'", "text/plain"),
+                      ("lcov", LCOV_CMD, "text/plain"),
                       ("check-clean-tree", "script/clean-source-tree.sh", "text/plain")],
 
     # run the backup/restore testenvs separately as they're fairly standalone
@@ -275,11 +363,14 @@ tasks = {
                          "--include-env=labdc "
                          "--include-env=ad_dc_backup "
                          "'", "text/plain"),
+                        ("lcov", LCOV_CMD, "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")],
+                          ("test", 'make test FAIL_IMMEDIATELY=1 TESTS="${TESTS}"', "text/plain"),
+                          ("lcov", LCOV_CMD, "text/plain"),
+                        ],
 
     # Test cross-compile infrastructure
     "samba-xc": [("random-sleep", "script/random-sleep.sh 900 1500", "text/plain"),
@@ -299,6 +390,7 @@ tasks = {
                    ("make", "make -j", "text/plain"),
                    ("test", "make quicktest FAIL_IMMEDIATELY=1 "
                     "TESTS='--include-env=ad_dc'", "text/plain"),
+                   ("lcov", LCOV_CMD, "text/plain"),
                    ("install", "make install", "text/plain"),
                    ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
                    ("clean", "make clean", "text/plain")],
@@ -359,7 +451,8 @@ tasks = {
                       ("test", "make test "
                        "FAIL_IMMEDIATELY=1 "
                        "TESTS='--include-env=none'",
-                       "text/plain")],
+                       "text/plain"),
+                      ("lcov", LCOV_CMD, "text/plain")],
 
     "samba-static": [
                       ("random-sleep", "script/random-sleep.sh 1 1", "text/plain"),
@@ -370,6 +463,7 @@ tasks = {
                        "FAIL_IMMEDIATELY=1 "
                        "TESTS='samba3.smb2.create.*nt4_dc'",
                        "text/plain"),
+                      ("lcov", LCOV_CMD, "text/plain"),
 
                       # retry without any required modules
                       ("none-distclean", "make distclean", "text/plain"),
@@ -389,6 +483,7 @@ tasks = {
                       # via "make test TESTS=sometests"
                       ("test", "make test FAIL_IMMEDIATELY=1 "
                        "TESTS='--include-env=ktest'", "text/plain"),
+                      ("lcov", LCOV_CMD, "text/plain"),
                       ("install", "make install", "text/plain"),
                       ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
                       ("clean", "make clean", "text/plain")
@@ -402,11 +497,12 @@ tasks = {
     # shipping a minimal smbd.
     "samba-nopython": [
                       ("random-sleep", "script/random-sleep.sh 300 900", "text/plain"),
-                      ("configure", "./configure.developer --picky-developer ${PREFIX} --with-profiling-data --disable-python --without-ad-dc", "text/plain"),
+                      ("configure", "./configure.developer ${ENABLE_COVERAGE} --picky-developer ${PREFIX} --with-profiling-data --disable-python --without-ad-dc", "text/plain"),
                       ("make", "make -j", "text/plain"),
                       ("install", "make install", "text/plain"),
                       ("find-python", "script/find_python.sh ${PREFIX}", "text/plain"),
                       ("test", "make test-nopython", "text/plain"),
+                      ("lcov", LCOV_CMD, "text/plain"),
                       ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
                       ("clean", "make clean", "text/plain"),
 
@@ -437,11 +533,12 @@ tasks = {
     # check we can do the same thing using python2
     "samba-nopython-py2": [
                       ("random-sleep", "script/random-sleep.sh 300 900", "text/plain"),
-                      ("configure", "PYTHON=python2 ./configure.developer --picky-developer ${PREFIX} --with-profiling-data --disable-python --without-ad-dc", "text/plain"),
+                      ("configure", "PYTHON=python2 ./configure.developer ${ENABLE_COVERAGE} --picky-developer ${PREFIX} --with-profiling-data --disable-python --without-ad-dc", "text/plain"),
                       ("make", "PYTHON=python2 make -j", "text/plain"),
                       ("install", "PYTHON=python2 make install", "text/plain"),
                       ("find-python", "script/find_python.sh ${PREFIX}", "text/plain"),
                       ("test", "make test-nopython", "text/plain"),
+                      ("lcov", LCOV_CMD, "text/plain"),
                       ("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
                       ("clean", "PYTHON=python2 make clean", "text/plain"),
 
@@ -471,12 +568,16 @@ tasks = {
 
     "ldb": [
               ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
-              ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+              ("configure", "./configure ${ENABLE_COVERAGE} --enable-developer -C ${PREFIX}", "text/plain"),
               ("make", "make", "text/plain"),
               ("install", "make install", "text/plain"),
               ("test", "make test", "text/plain"),
-              ("configure-no-lmdb", "./configure --enable-developer --without-ldb-lmdb -C ${PREFIX}", "text/plain"),
+              ("lcov", LCOV_CMD, "text/plain"),
+              ("clean", "make clean", "text/plain"),
+              ("configure-no-lmdb", "./configure ${ENABLE_COVERAGE} --enable-developer --without-ldb-lmdb -C ${PREFIX}", "text/plain"),
               ("make-no-lmdb", "make", "text/plain"),
+              ("test-no-lmdb", "make test", "text/plain"),
+              ("lcov-no-lmdb", LCOV_CMD, "text/plain"),
               ("install-no-lmdb", "make install", "text/plain"),
               ("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
               ("distcheck", "make distcheck", "text/plain"),
@@ -484,40 +585,44 @@ tasks = {
 
     "tdb": [
               ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
-              ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+              ("configure", "./configure ${ENABLE_COVERAGE} --enable-developer -C ${PREFIX}", "text/plain"),
               ("make", "make", "text/plain"),
               ("install", "make install", "text/plain"),
               ("test", "make test", "text/plain"),
+              ("lcov", LCOV_CMD, "text/plain"),
               ("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
               ("distcheck", "make distcheck", "text/plain"),
               ("clean", "make clean", "text/plain")],
 
     "talloc": [
                  ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
-                 ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+                 ("configure", "./configure ${ENABLE_COVERAGE} --enable-developer -C ${PREFIX}", "text/plain"),
                  ("make", "make", "text/plain"),
                  ("install", "make install", "text/plain"),
                  ("test", "make test", "text/plain"),
+                 ("lcov", LCOV_CMD, "text/plain"),
                  ("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
                  ("distcheck", "make distcheck", "text/plain"),
                  ("clean", "make clean", "text/plain")],
 
     "replace": [
                   ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
-                  ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+                  ("configure", "./configure ${ENABLE_COVERAGE} --enable-developer -C ${PREFIX}", "text/plain"),
                   ("make", "make", "text/plain"),
                   ("install", "make install", "text/plain"),
                   ("test", "make test", "text/plain"),
+                  ("lcov", LCOV_CMD, "text/plain"),
                   ("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
                   ("distcheck", "make distcheck", "text/plain"),
                   ("clean", "make clean", "text/plain")],
 
     "tevent": [
                  ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
-                 ("configure", "./configure --enable-developer -C ${PREFIX}", "text/plain"),
+                 ("configure", "./configure ${ENABLE_COVERAGE} --enable-developer -C ${PREFIX}", "text/plain"),
                  ("make", "make", "text/plain"),
                  ("install", "make install", "text/plain"),
                  ("test", "make test", "text/plain"),
+                 ("lcov", LCOV_CMD, "text/plain"),
                  ("check-clean-tree", "../../script/clean-source-tree.sh", "text/plain"),
                  ("distcheck", "make distcheck", "text/plain"),


-- 
Samba Shared Repository



More information about the samba-cvs mailing list