[all-commits] [llvm/llvm-project] 12502e: [lldb][test] 1 - Don't do test-replication for gmo...

Michael137 via All-commits all-commits at lists.llvm.org
Mon Sep 26 11:54:52 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 12502ee551236375516b714cfdfb75d85b3b7e3e
      https://github.com/llvm/llvm-project/commit/12502ee551236375516b714cfdfb75d85b3b7e3e
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2022-09-26 (Mon, 26 Sep 2022)

  Changed paths:
    M lldb/docs/resources/test.rst
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/test_categories.py

  Log Message:
  -----------
  [lldb][test] 1 - Don't do test-replication for gmodules debug_info variant

Currently, by default LLDB runs an API test with 3 variants,
one of which, depending on platform, is `gmodules`. However,
most tests don't actually make use of any specific `gmodules`
feature since they compile a single `main.cpp` file without
imporint types from other modules.

Instead of running all tests an extra time with `-gmodules`
enabled, we plan to test `gmodules` features with dedicated
API tests that explicitly opt-into compiling with `-gmodules`.
One of the main benefits of this will be a reduction in total
API test-suite run-time (by around 1/3).

This patch adds a flag to `debug_info_categories` that indicates
whether a category is eligible to be replicated by `lldbtest`.

Keeping `gmodules` a debug-info category is desirable because
`builder.py` knows how to inject the appropriate Makefile flags
into the build command for debug-info categories already. Whereas
for non-debug-info categories we'd have to teach it how to. The
category is inferred from the test-name debug-info suffix currently.

Differential Revision: https://reviews.llvm.org/D134524


  Commit: 1c6826e8fc6d5c47c3ffff573efd8d080939a932
      https://github.com/llvm/llvm-project/commit/1c6826e8fc6d5c47c3ffff573efd8d080939a932
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2022-09-26 (Mon, 26 Sep 2022)

  Changed paths:
    M lldb/test/API/lang/cpp/gmodules/templates/TestGModules.py
    M lldb/test/API/lang/objc/modules-app-update/TestClangModulesAppUpdate.py
    M lldb/test/API/lang/objc/modules-hash-mismatch/TestClangModulesHashMismatch.py
    M lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py
    M lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py
    M lldb/test/API/lang/objc/modules-update/TestClangModulesUpdate.py
    M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py

  Log Message:
  -----------
  [lldb][test] 2 - Add gmodules test category explicitly where previously done implicitly

Since we don't compile with `gmodules` implicitly via
debug-info test replication, we should mark all implicit
`gmodules` tests with the appropriate category so the API
tests get actually run as intended.

Differential Revision: https://reviews.llvm.org/D134574


Compare: https://github.com/llvm/llvm-project/compare/24cdae11ed2e...1c6826e8fc6d


More information about the All-commits mailing list