Bug 1284832 - Remove memleak.sh test runs from Taskcluster CI r=franziskus
authorTim Taubert <ttaubert@mozilla.com>
Sun, 31 Jul 2016 09:42:58 +0200
changeset 12411 cf00cc8c7ec77fe59ff6b8030f0fd2d96fc7b5fb
parent 12410 d585f68cd50c6c59f8a646a629a724b593eef5f0
child 12412 a10597f76ce335a0744db1cfa3ca02be9a34693a
push id1422
push userttaubert@mozilla.com
push dateSun, 31 Jul 2016 07:43:34 +0000
reviewersfranziskus
bugs1284832
Bug 1284832 - Remove memleak.sh test runs from Taskcluster CI r=franziskus
.taskcluster.yml
automation/taskcluster/docker/setup.sh
automation/taskcluster/graph/linux/_build_base.yml
automation/taskcluster/graph/linux/_test_base.yml
automation/taskcluster/graph/linux/build64-asan.yml
automation/taskcluster/graph/linux/build64-debug.yml
automation/taskcluster/graph/linux/build64-lsan.yml
automation/taskcluster/graph/tests/crmf.yml
automation/taskcluster/graph/tests/fips.yml
automation/taskcluster/graph/tests/memleak.yml
automation/taskcluster/graph/tools/_build_base.yml
automation/taskcluster/graph/try_syntax.js
tests/common/init.sh
--- a/.taskcluster.yml
+++ b/.taskcluster.yml
@@ -52,23 +52,24 @@ tasks:
       tags:
         createdForUser: {{owner}}
 
       routes:
         - "tc-treeherder-stage.v2.{{project}}.{{revision}}.{{pushlog_id}}"
         - "tc-treeherder.v2.{{project}}.{{revision}}.{{pushlog_id}}"
 
       payload:
-        image: "ttaubert/nss-ci:0.0.18"
+        image: "ttaubert/nss-ci:0.0.19"
 
         env:
           TC_OWNER: {{owner}}
           TC_SOURCE: {{{source}}}
           TC_PROJECT: {{project}}
           TC_COMMENT: '{{comment}}'
+          TC_IMAGE: "ttaubert/nss-ci:0.0.19"
           NSS_PUSHLOG_ID: '{{pushlog_id}}'
           NSS_HEAD_REPOSITORY: '{{{url}}}'
           NSS_HEAD_REVISION: '{{revision}}'
 
         maxRunTime: 1800
 
         command:
           - bash
--- a/automation/taskcluster/docker/setup.sh
+++ b/automation/taskcluster/docker/setup.sh
@@ -4,17 +4,16 @@ set -v -e -x
 
 apt_packages=()
 apt_packages+=('build-essential')
 apt_packages+=('ca-certificates')
 apt_packages+=('curl')
 apt_packages+=('mercurial')
 apt_packages+=('npm')
 apt_packages+=('git')
-apt_packages+=('valgrind')
 apt_packages+=('zlib1g-dev')
 
 # 32-bit builds
 apt_packages+=('lib32z1-dev')
 apt_packages+=('gcc-multilib')
 apt_packages+=('g++-multilib')
 
 # Install prerequisites.
--- a/automation/taskcluster/graph/linux/_build_base.yml
+++ b/automation/taskcluster/graph/linux/_build_base.yml
@@ -9,17 +9,17 @@ task:
   schedulerId: task-graph-scheduler
 
   metadata:
     owner: !env TC_OWNER
     source: !env TC_SOURCE
 
   payload:
     maxRunTime: 3600
-    image: ttaubert/nss-ci:0.0.18
+    image: !env TC_IMAGE
 
     artifacts:
       public:
         type: directory
         path: /home/worker/artifacts
         expires: !from_now 24
 
     command:
--- a/automation/taskcluster/graph/linux/_test_base.yml
+++ b/automation/taskcluster/graph/linux/_test_base.yml
@@ -9,14 +9,14 @@ task:
   schedulerId: task-graph-scheduler
 
   metadata:
     owner: !env TC_OWNER
     source: !env TC_SOURCE
 
   payload:
     maxRunTime: 3600
-    image: ttaubert/nss-ci:0.0.18
+    image: !env TC_IMAGE
 
     command:
       - "/bin/bash"
       - "-c"
       - "bin/checkout.sh && nss/automation/taskcluster/scripts/run_tests.sh"
--- a/automation/taskcluster/graph/linux/build64-asan.yml
+++ b/automation/taskcluster/graph/linux/build64-asan.yml
@@ -3,16 +3,18 @@
     metadata:
       name: "Linux 64 (ASan, debug)"
       description: "Linux 64 (ASan, debug)"
 
     payload:
       env:
         GCC_VERSION: clang
         GXX_VERSION: clang++
+        NSS_DISABLE_ARENA_FREE_LIST: 1
+        NSS_DISABLE_UNLOAD: 1
         NSS_ENABLE_TLS_1_3: 1
         USE_ASAN: 1
         USE_64: 1
 
     extra:
       treeherder:
         build:
           platform: linux64
--- a/automation/taskcluster/graph/linux/build64-debug.yml
+++ b/automation/taskcluster/graph/linux/build64-debug.yml
@@ -22,17 +22,16 @@
     - chains
     - cipher
     - crmf
     - db
     - ec
     - fips
     - gtests
     - lowhash
-    - memleak
     - merge
     - sdr
     - smime
     - ssl
     - tools
 
 - task:
     metadata:
deleted file mode 100644
--- a/automation/taskcluster/graph/linux/build64-lsan.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-- task:
-    metadata:
-      name: "Linux 64 (LSan, debug)"
-      description: "Linux 64 (LSan, debug)"
-
-    payload:
-      env:
-        GCC_VERSION: clang
-        GXX_VERSION: clang++
-        NSS_DISABLE_ARENA_FREE_LIST: 1
-        NSS_DISABLE_UNLOAD: 1
-        NSS_ENABLE_TLS_1_3: 1
-        NSS_ENABLE_LSAN: 1
-        USE_ASAN: 1
-        USE_64: 1
-
-    extra:
-      treeherder:
-        build:
-          platform: linux64
-        machine:
-          platform: linux64
-        collection:
-          lsan: true
-
-  tests:
-    - chains
-    - cipher
-    - db
-    - ec
-    - gtests
-    - lowhash
-    - merge
-    - sdr
-    - smime
-    - ssl
-    - tools
--- a/automation/taskcluster/graph/tests/crmf.yml
+++ b/automation/taskcluster/graph/tests/crmf.yml
@@ -1,13 +1,14 @@
 ---
 - task:
     metadata:
       name: CRMF tests
       description: CRMF tests
 
     payload:
       env:
+        ASAN_OPTIONS: detect_leaks=0
         NSS_TESTS: crmf
 
     extra:
       treeherder:
         symbol: CRMF
--- a/automation/taskcluster/graph/tests/fips.yml
+++ b/automation/taskcluster/graph/tests/fips.yml
@@ -1,13 +1,14 @@
 ---
 - task:
     metadata:
       name: FIPS tests
       description: FIPS tests
 
     payload:
       env:
+        ASAN_OPTIONS: detect_leaks=0
         NSS_TESTS: fips
 
     extra:
       treeherder:
         symbol: FIPS
deleted file mode 100644
--- a/automation/taskcluster/graph/tests/memleak.yml
+++ /dev/null
@@ -1,228 +0,0 @@
----
-- task:
-    metadata:
-      name: "MemLeak tests (ssl_server, standard)"
-      description: "MemLeak tests (ssl_server, standard)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: ssl_server
-        NSS_CYCLES: standard
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Server
-        groupName: MemLeak tests (ssl_server)
-        symbol: standard
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (ssl_server, pkix)"
-      description: "MemLeak tests (ssl_server, pkix)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: ssl_server
-        NSS_CYCLES: pkix
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Server
-        groupName: MemLeak tests (ssl_server)
-        symbol: pkix
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (ssl_server, sharedb)"
-      description: "MemLeak tests (ssl_server, sharedb)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: ssl_server
-        NSS_CYCLES: sharedb
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Server
-        groupName: MemLeak tests (ssl_server)
-        symbol: sharedb
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (ssl_server, upgradedb)"
-      description: "MemLeak tests (ssl_server, upgradedb)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: ssl_server
-        NSS_CYCLES: upgradedb
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Server
-        groupName: MemLeak tests (ssl_server)
-        symbol: upgradedb
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (ssl_client, standard)"
-      description: "MemLeak tests (ssl_client, standard)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: ssl_client
-        NSS_CYCLES: standard
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Client
-        groupName: MemLeak tests (ssl_client)
-        symbol: standard
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (ssl_client, pkix)"
-      description: "MemLeak tests (ssl_client, pkix)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: ssl_client
-        NSS_TESTS: memleak
-        NSS_CYCLES: pkix
-
-    extra:
-      treeherder:
-        groupSymbol: Client
-        groupName: MemLeak tests (ssl_client)
-        symbol: pkix
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (ssl_client, sharedb)"
-      description: "MemLeak tests (ssl_client, sharedb)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: ssl_client
-        NSS_CYCLES: sharedb
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Client
-        groupName: MemLeak tests (ssl_client)
-        symbol: sharedb
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (ssl_client, upgradedb)"
-      description: "MemLeak tests (ssl_client, upgradedb)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: ssl_client
-        NSS_CYCLES: upgradedb
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Client
-        groupName: MemLeak tests (ssl_client)
-        symbol: upgradedb
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (chains, standard)"
-      description: "MemLeak tests (chains, standard)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: chains
-        NSS_CYCLES: standard
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Chains
-        groupName: MemLeak tests (chains)
-        symbol: standard
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (chains, pkix)"
-      description: "MemLeak tests (chains, pkix)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: chains
-        NSS_TESTS: memleak
-        NSS_CYCLES: pkix
-
-    extra:
-      treeherder:
-        groupSymbol: Chains
-        groupName: MemLeak tests (chains)
-        symbol: pkix
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (chains, sharedb)"
-      description: "MemLeak tests (chains, sharedb)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: chains
-        NSS_CYCLES: sharedb
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Chains
-        groupName: MemLeak tests (chains)
-        symbol: sharedb
-        collection:
-          memleak: true
-
-- task:
-    metadata:
-      name: "MemLeak tests (chains, upgradedb)"
-      description: "MemLeak tests (chains, upgradedb)"
-
-    payload:
-      env:
-        NSS_MEMLEAK_TESTS: chains
-        NSS_CYCLES: upgradedb
-        NSS_TESTS: memleak
-
-    extra:
-      treeherder:
-        groupSymbol: Chains
-        groupName: MemLeak tests (chains)
-        symbol: upgradedb
-        collection:
-          memleak: true
--- a/automation/taskcluster/graph/tools/_build_base.yml
+++ b/automation/taskcluster/graph/tools/_build_base.yml
@@ -9,17 +9,17 @@ task:
   schedulerId: task-graph-scheduler
 
   metadata:
     owner: !env TC_OWNER
     source: !env TC_SOURCE
 
   payload:
     maxRunTime: 3600
-    image: ttaubert/nss-ci:0.0.18
+    image: !env TC_IMAGE
 
     env:
       NSS_HEAD_REPOSITORY: !env NSS_HEAD_REPOSITORY
       NSS_HEAD_REVISION: !env NSS_HEAD_REVISION
 
   extra:
     treeherder:
       build:
--- a/automation/taskcluster/graph/try_syntax.js
+++ b/automation/taskcluster/graph/try_syntax.js
@@ -74,21 +74,16 @@ function filterTasks(tasks, comment) {
   return tasks.filter(function (task) {
     var env = task.task.payload.env || {};
     var th = task.task.extra.treeherder;
     var symbol = th.symbol.toLowerCase();
     var machine = th.machine.platform;
     var coll = th.collection || {};
     var found;
 
-    // Never include memleak builds, they'll go away soon.
-    if (coll.memleak) {
-      return false;
-    }
-
     // Filter tools. We can immediately return here as those
     // are not affected by platform or build type selectors.
     if (machine == "nss-tools") {
       return opts.tools.some(function (tool) {
         return symbol.startsWith(tool);
       });
     }
 
@@ -109,28 +104,28 @@ function filterTasks(tasks, comment) {
         "linux": "linux32",
         "linux64-asan": "linux64",
         "win64": "windows2012-64"
       };
 
       // Check the platform name.
       var keep = machine == (aliases[platform] || platform);
 
-      // Additional check for LSan.
+      // Additional check for ASan.
       if (platform == "linux64-asan") {
-        keep &= coll.asan || coll.lsan;
+        keep &= coll.asan;
       }
 
       return keep;
     });
 
     if (!found) {
       return false;
     }
 
     // Finally, filter by build type.
-    var isDebug = coll.debug || coll.asan || coll.lsan;
+    var isDebug = coll.debug || coll.asan;
     return (isDebug && opts.builds.indexOf("d") > -1) ||
            (!isDebug && opts.builds.indexOf("o") > -1);
   });
 }
 
 module.exports.filterTasks = filterTasks;
--- a/tests/common/init.sh
+++ b/tests/common/init.sh
@@ -39,22 +39,16 @@
 #    network. Also, this way all scripts have all shell function  available
 #    and a completely common environment
 #
 ########################################################################
 
 NSS_STRICT_SHUTDOWN=1
 export NSS_STRICT_SHUTDOWN
 
-# If using ASan, disable LSan; see bug 1246801.
-if [ -z "${NSS_ENABLE_LSAN}" ]; then
-    ASAN_OPTIONS="detect_leaks=0${ASAN_OPTIONS:+:$ASAN_OPTIONS}"
-    export ASAN_OPTIONS
-fi
-
 # Init directories based on HOSTDIR variable
 if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then
     init_directories()
     {
         TMP=${HOSTDIR}      #TMP=${TMP-/tmp}
         TEMP=${TMP}
         TMPDIR=${TMP}