Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-28749

memcached_testapp: unify separate test binaries to reduce build footprint

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • 5.5.0
    • master
    • memcached

    Description

      The memcached testapp tests are split into ~35 different test binaries. This was primarily done to allow tests to run in parallel (to speed up CV test time).

      Because the testapp tests can run in an embedded mode where they run an embedded memcached; each test binary essentially contains the whole of memached. As a result there's two major disadvantages to this approach :-

      1. We need to link ~35 different executables every time any common code changes
      2. We need space for ~35 different executables which are 99% the same.

      In the case of (2), the binary size of each test can become very large when building with various diagnostics - for example each binary is ~140MB each when building with UndefinedBehaviourSanitizer. That totals close to 5GB for all the testapp binaries.

      To reduce these sizes, we should combine the memcached testapp tests into a single binary. Consider looking at https://github.com/google/gtest-parallel to handle running the tests in parallel.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            drigby Dave Rigby (Inactive)
            drigby Dave Rigby (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              PagerDuty