<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/58681>58681</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            DExTer testing bug
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          liam-clink
      </td>
    </tr>
</table>

<pre>
    <details>
<summary>Representative error</summary>
```
********************
FAIL: cross-project-tests :: debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp (64053 of 77101)
******************** TEST 'cross-project-tests :: debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp' FAILED ********************
Script:
--
: 'RUN: at line 4';   true
: 'RUN: at line 5';   "/usr/bin/python3.10" "/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/dexter.py" clang-opt-bisect      --debugger lldb      --builder clang      --cflags "-O0 -glldb"      --ldflags "-O0 -glldb"      -- /home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp  | /home/liam/Downloads/llvm-project-15.0.3.src/build/bin/FileCheck /home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp
--
Exit Code: 2

Command Output (stderr):
--

error: could not load lldb (path "<COULD NOT FIND PATH>" does not exist [result of ['lldb', '-P']])



****************************************
****************************************
****************************************
**                                    **
** This is a bug in DExTer.           **
**                                    **
**                  Please report it. **
**                                    **
****************************************
****************************************
****************************************

system:
linux

version:
DExTer 1.0.0
  using Python 3.10.6 (main, Aug 10 2022, 11:40:04) [GCC 11.3.0]

args:
['/usr/bin/python3.10', '/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/dexter.py', 'clang-opt-bisect', '--debugger', 'lldb', '--builder', 'clang', '--cflags', '-O0 -glldb', '--ldflags', '-O0 -glldb', '--', '/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp']

Traceback (most recent call last):
  File "/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/dexter.py", line 20, in <module>
    return_code = main()
  File "/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/dex/tools/Main.py", line 193, in main
    return tool_main(context, module.Tool(context), args)
  File "/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/dex/tools/Main.py", line 162, in tool_main
    return_code = tool.go()
  File "/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/dex/tools/TestToolBase.py", line 135, in go
    self._run_test(self._get_test_name(options.test_path))
  File "/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/dex/tools/clang_opt_bisect/Tool.py", line 155, in _run_test
    heuristic = Heuristic(self.context, steps)
  File "/home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/dex/heuristic/Heuristic.py", line 142, in __init__
    for command in steps.commands['DexDeclareAddress']:
TypeError: 'NoneType' object is not subscriptable
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/liam/Downloads/llvm-project-15.0.3.src/build/bin/FileCheck /home/liam/Downloads/llvm-project-15.0.3.src/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp

--
```
</details>

<details>
<summary>List of relevant failed tests</summary>
```
  cross-project-tests :: debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/ctor.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/dbg-arg.c
  cross-project-tests :: debuginfo-tests/dexter-tests/deferred_globals.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/memvars/ctrl-flow.c
  cross-project-tests :: debuginfo-tests/dexter-tests/memvars/inlining.c
  cross-project-tests :: debuginfo-tests/dexter-tests/namespace.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/optnone-fastmath.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/optnone-loops.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/optnone-simple-functions.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/optnone-struct-and-methods.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/optnone-vectors-and-functions.cpp
  cross-project-tests :: debuginfo-tests/dexter-tests/stack-var.c
  cross-project-tests :: debuginfo-tests/dexter-tests/vla.c
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect-results.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/subtools/clang-opt-bisect/clang-opt-bisect.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
  cross-project-tests :: debuginfo-tests/dexter/feature_tests/subtools/view.cpp
```
</details>

Build command:
```
cmake -S ../llvm -B . -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_PROJECTS="bolt;llvm;clang;lld;lldb;clang-tools-extra;cross-project-tests;libclc;polly;pstl" -DLLVM_ENABLE_RUNTIMES="openmp;libcxx;libcxxabi;libunwind;compiler-rt" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLIBCXX_USE_COMPILER_RT=YES -DLLVM_USE_LINKER=lld -DLIBCXXABI_USE_LLVM_UNWINDER=YES -DLLVM_INSTALL_UTILS=ON -DCMAKE_INSTALL_PREFIX=$HOME/llvm15_temp
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWllz4rgW_jXkRWWKJWwPPLClmzuEpBJyp-fJJdsyqFu2XJJMkvn19xx5gZBlehoCTM2lXMbWdr5zpLPJ8mTw3K80RwEzlAtdaU4qtXGlNoAinUYRVc9QdMcSxTSLDTV8zQhTSipoUGlcbdrk3dq1_MpeG3tcdoSrwXRWaQ6Ir6TWTqLkd-YbxzBtNIFyrAqYly55HMqsGFAF7MkwBQ8hoyZVzC0qdOoZKQU--oLGS0cmxvG4hjHfKKr6SUIqjW77stZqEhmSTqdeq1cavf2ZI4vJ_QLG7pyKLyBNULaTMdl_ku59xRODsO2r4xRraIAs3j3M8YkaInjMyCUUVZpDQohRKfuoZatsWWk0gI9UI-8ej-GePJuVjJvVeg3q8vqVjBj8CU4j-BvLx1hIGqBQhFhHpZDrrWqt2qxq5aNsXsvfCvpd0WcP1eQZ6e5Kltif49j-S6aIEIFXFHopFwGU2U5FoR8KutTIgHNTI84SO-DIebUIPq4nx2L7AJpEKp3Rr-K1sisn_4oLNlox_8c_iP2XqjF54oaMZMBwvTdyJbD3kQSLGgfkJjVJatD8aAOrRqHZeaVg9p6bY7CRMhUBiSWoD0ggW3vQP6FmZTWkORrdPMzGZH6zIFfT-ZjcDhZf0XTDegok07Yre-IayLaGYPFTYdDswQtoYrbyOpUGTmLHucXn1hiv0iC-vu9jWvY2S_-nTn7i90avxYprAhcloBCEx2Q8eVqA0fu416_RevW7FYxqRhRLpDKEm-rBaP2bV8LJqNu7ftaGRaX9Au-ePm3Xr5nSXMZlg2y9kTqY7DySJCTVHNzmrfX7BB1_tY3WLaLoEkZkACu1XiONGoYCI1Kvw2CXNbjVIODooQ37MsJi8AE1NFpb1Kla6pJ0Zuw-iDYKC3iCgKMg_drllGa5DD02ZTuGu4hDdobbbpEFJVslW6HHplUem_xVs-NL7CDR8c4aWSjqM4_akKMbSXCRivmQERGfCkEE1WbbQROCIcqpwlIUtw2gGzV8BPsNrj-SQSpYmaihhVQMxBS7PoQh0GJMMlXqlv78JFzAvZisa8Czw1G918xZsmB3WCHY083Z8GVsYFxsnvFeXUDtdkUP66zynzPH7UbO8Ya5d2cQm1SX8pwmcQHVKPghOPVd1pqtnDWAXPKkmQirrkpjq78Y_9qCJTO2wI0p8tAFhQWPoau2DENcO59nwrS1KS5AdEszgzLY5b9V8L9htxTDiqUKInHu24n9WrwV8tha3eBak9Mv4dUG4VWJdpfhy2Ituy6PuXHdDb-hhMw4z32ggWWqmhfozCmP2dOYgWgVGwQBpCc6N9OF1V08J2xSJENQN5cxwzLc65AesoNBLSY54BG03bOgnsi3IDY5JdsaArfBTAAqh1lSB7uzKDHP1d0-BXJkE7v-2_PcnTx1Z1fQbh2-2nEs6j7cipxhdgo5qWKCrSn43xDasoBkgH9mT5L8yl5i-UqXS8WW1DCHxwFXOAB4kA3j-43uG6kONVbgLTNoBxmMhaAWLHCXQnpU6EOBjFi0pipjXQknFPLxMIA3A_MYlBJSh8OMi95HJxALHkoCoD0x2CknhBAyAjd26HGFlMnBpqsYVPMoEYA5jf3MCx96fKNS1Kw4cCIGqVdwcAprhrqmLYmDs6ENJAoOrL_DrLm1oHsN9IZdLx0r5LZMhbk5zwpddGJHIQit3SDz6C4tXPpV_uTSEIZyFQv3nJbDoFlBuOLLNDYnRcOe8Esc7pUUhSeFwwNIgTmkwGeBJkqF4WCXzgKMDEMNKcs5QMGEAdZulFCIymV8RCwheF69yhM5DCIoTBFAgdAJDS4V54TlJCr-NqrzQZJ5-pPBEDwCUdhk8CyWzTt4zmDCtpGdF5qjLiFwkPDgwthLRSNAAKnacUkj0-4PyA5xAJsh8qPZ3DcgYHB7OurAfqo0X59wDnREhXAxDToBBqkCtm9G_zfpPlLjgx4-J0eWeUZ3TUV6LMKhkNS4isZLllHfKSviwTOBE0t3_62iQ4GxWnEmWP5kSroRVhwJ0JZ3grdje8uX1F9EFLjX636HGD2zHueBKtfvI1rQv8RyTCvzPhjcJ3Ejrk-3dLfRyDVTgiYJj5eZXh0r6XwfkqYRy6R0_Nj9JSoIgo6OII0Vo_4KPzEdnyJ4G7BqUbaZF8sTAAAjlm0kHpry3_sm5WTnGD9BGX7129gn0M-zrmKvMlE8NvaTx-fTFNRjwqWw3FZMff6Mv6Ca7bF9Kr01Z49bnzV__kPmEL_kFt-FN6fLXg7gR_QHI849qVYr2Xdc4gxJlThfyJzH3ylxxqPrwW8Td_gwnY3dxR-3k0pzfMeyI5LOeDb777W7GNx9mSzu3cVN1gxafOu2i9rJfDCcTdzbu5v_TEaLe6isNBqeFKbSHCJB-MvOf-FrkN29otCxYnBATopi2Rufk6ED93zhw0MihXjGf20Enil-ieDuYb6YXk9yBDJhcZTkvZ-eygfq8ew5jR8xfwOiMkq4YMpRJhs0k8jIHd1c305nkzsYMDtSX1Z9-_aqstIYwoWQpkOsf7iflG3cuwU0-2NyXyDGytl0_pvtDvIouw2G06zStpr_Pp2PbZutvtP5_WIwm7kPi-kMeb2Zl7iKqtu7ydX0m5XD5deb60k-9fUWLMBod6VdsH693W73es1GvXMR9JtBr9mjF4Ybwfr5OUmcCTwcCQv8IlWivzImsScaG1dwLblZpR6epcgJVV4eGYBXrnXKcLm3uu1u_WLVZ0EzbITdIOi2Wl6Ttb2Asl6ddcDOMy9o1i6sAuq-PZjRiNkjsUPgYY_W-IL38RhmvdboNuqXtXqnGtQvg04r9HuXtNdsUb9yWWMRKE0VcVSlWl6ovoUEHGioFByW1qaSas2XMWOWHIxPU7OS0IPTyPHB5Py4sNT7Fv3_AEjRNvU">