[all-commits] [llvm/llvm-project] 522045: [Dexter] Add support for aggregate expects in the ...
Stephen Tozer via All-commits
all-commits at lists.llvm.org
Mon Jun 8 09:44:09 PDT 2026
Branch: refs/heads/users/SLTozer/dexter-7-aggregates
Home: https://github.com/llvm/llvm-project
Commit: 522045e96a115bb6ec2b7626255c7021a1d9d05f
https://github.com/llvm/llvm-project/commit/522045e96a115bb6ec2b7626255c7021a1d9d05f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-08 (Mon, 08 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/ValueIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/debug_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_list_aggregates.cpp
Log Message:
-----------
[Dexter] Add support for aggregate expects in the debugger
Allows aggregate expects to be written in Dexter scripts, in the form:
!value expect:
member1: 0
member2:
submember1: 1
submember2: 2
This uses the "variables" feature provided in the DAP interface to
recursively fetch sub-variables from each evaluated variable, and modifies
the DebuggerExpectMatch class to also be recursive, containing submatches
for each expected aggregate member value.
Some key concepts that are affected by this are the "match_result", which
has changed from a bool to a 3-way result ("FALSE", "TRUE", "PARTIAL"),
where "PARTIAL" means that at least one submatch was TRUE and at least one
was FALSE. We also add a `match_distance`, which is used as a measure of
correctness. The match distance ranges from 0.0 to 1.0: a total match has a
distance of 0.0, a total mismatch has 1.0, and a partial match's distance is
equal to the average distance of its immediate children.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list