TestBackendBuiltWithoutExceptions matches nevr_quest::ApplyEmbedded through the substring 8LogEvent

Closed Beginner friendly
#231 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
cpp, go
Domain
testing

Research direction

Start in tests/quest/elf_groundtruth_test.go: the backend selector list near line 402 includes the substring 8LogEvent, and the failure is reported at line 425. Check the mangled name of nevr_quest::ApplyEmbedded in quest_config.cpp to see why the substring matches it. Done when TestBackendBuiltWithoutExceptions passes under just test-android on the merged tree, with the backend's sentinel::LogEvent matched by its full mangled prefix.

Written by the indexing model from the issue text.

Description

just test-android (go test in tests/quest) fails on the merge of claude-quest-hooks (fd02052) and claude-quest-config (81e446e), on a clean build of the branch claude-quest-social at a386f8e (which does not link its own code into the sentinel):

=== RUN   TestBackendBuiltWithoutExceptions
    elf_groundtruth_test.go:425: backend function _ZN10nevr_quest12_GLOBAL__N_113ApplyEmbeddedERNS_14ResolvedConfigERKNS_16EmbeddedDefaultsEPNSt6__ndk16vectorINS_8LogEventENS6_9allocatorIS8_EEEE sits under CIE augment
--- FAIL: TestBackendBuiltWithoutExceptions

The test selects "backend" functions by substring (elf_groundtruth_test.go:402, the list includes "8LogEvent"). nevr_quest::{anon}::ApplyEmbedded in quest_config.cpp takes a std::vector<nevr_quest::LogEvent>, so its mangled name contains 8LogEvent and the test treats a config function (built with exceptions, legitimately under a personality-bearing CIE) as the hook backend's LogEvent. Neither package is wrong on its own; the selector is too loose. Fix direction: match the backend's sentinel::LogEvent by its full mangled prefix (_ZN8sentinel8LogEvent) instead of a substring. Refs #158.

Dominant language
C++
Stars
2
Forks
5
Avg merge
5h 8m
Merged PRs (30d)
911

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from EchoTools/nevr-runtime

All issues in EchoTools/nevr-runtime

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.