Skip to content

Remove ported instruction tests - #276

Open
bbiiggppiigg wants to merge 3 commits into
masterfrom
bbiiggppiigg/remove-ported-instruction-tests
Open

Remove ported instruction tests#276
bbiiggppiigg wants to merge 3 commits into
masterfrom
bbiiggppiigg/remove-ported-instruction-tests

Conversation

@bbiiggppiigg

Copy link
Copy Markdown
Member

No description provided.

@bbiiggppiigg bbiiggppiigg changed the title Rmove ported instruction tests Remove ported instruction tests Aug 4, 2026
@bbiiggppiigg
bbiiggppiigg marked this pull request as ready for review August 4, 2026 20:28
@bbiiggppiigg
bbiiggppiigg requested review from hainest and kupsch August 4, 2026 20:29
@bbiiggppiigg

bbiiggppiigg commented Aug 4, 2026

Copy link
Copy Markdown
Member Author

These tests has been ported to dyninst.
dyninst/dyninst#2344
dyninst/dyninst#2345
dyninst/dyninst#2346
dyninst/dyninst#2347
dyninst/dyninst#2348

Remove them from testsuite so we don't have cross repo inconsistencies.

@hainest

hainest commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Could you split out the bluegene compiler removal? You can also remove the BlueGene/Q (bgq) compilers.

bbiiggppiigg and others added 3 commits August 4, 2026 16:31
The bg_gcc, bg_g++, and bg_gfortran compilers no longer have any
platform (the bluegenep platforms were removed from the specification
some time ago), but they still had compiler_opt_trans facts. That
trips the "not defined as a compiler, but has optimization translation
defined" sanity check in write_tuples, which makes it impossible to
regenerate the platform directories from the current specification:
gprolog halts before writing any tuples.

Remove the three dead compilers from the low/high/max optimization
translation lists and regenerate the platform directories
(gprolog 1.5.0, Makefile.genspec gen-clean gen-all).

Note on regeneration drift: the checked-in tuples.gz files were stale
relative to the current specification (they still contained the
removed ppc32_linux/ppc32_bgp*/ppc64_bgq* platform metadata), so
regenerating rewrites them. All harness-driving generated files
(test_info_new.gen.C, cmake-mutatees.txt, group boilerplate) reproduce
byte-for-byte from the current spec; the only other change is
generator-emitted trailing whitespace in cmake-mutators.txt that had
been hand-stripped in the checked-in copies.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Remove the eight BlueGene compiler definitions and every fact that
references them:

- BlueGene/P: bg_gcc, bg_g++, bg_gfortran (their bluegenep platforms
  were removed from the specification long ago, so they were already
  unreachable; the previous commit removed their last live facts)
- BlueGene/Q: bgq_gcc, bgq_g++, bgq_gfortran, bgxlc, bgxlc++

This covers compiler_format, compiler_platform, mutatee_comp,
mutator_comp, compiler_define_string, compiler_s, compiler_pic,
compiler_static_link/compiler_dynamic_link, comp_std_flags_str,
comp_mutatee_flags_str, mutatee_link_options, the comp_lang /
compiler_opt_trans / compiler_pic_trans / compiler_parm_trans /
compiler_for_mutatee membership lists, and the bgxlc-only -qpic
translation clause.

The ppc64_bgq_ion platform definition itself is left in place (it now
simply has no compilers, which the generator accepts); removing the
platform and the bluegene OS guards wholesale can be a separate
cleanup.

Regenerated the platform directories (gprolog 1.5.0 + python2,
Makefile.genspec gen-clean gen-all): the only generated-file change is
the bgq compiler metadata disappearing from each platform's tuples.gz;
no mutatee/mutator build lists change on any checked-in platform.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
These ten InstructionAPI tests decode fixed in-memory byte buffers and
never used a mutatee or attached to a process, so they have been ported
to the dyninst repository's integration test tree
(tests/integration/InstructionAPI/decoder/) where they run from the
build tree via ctest on any host architecture:

- power_decode.C, power_cft.C        -> decoder/ppc64le/{decode,branches}.cpp
- aarch64_cft.C                      -> decoder/aarch64/cft.cpp
- aarch64_decode_ldst.C              -> decoder/aarch64/ldst.cpp
- aarch64_simd.C                     -> decoder/aarch64/simd.cpp
- fucompp.C                          -> decoder/x86/fucompp.cpp
- mov_size_details.C                 -> decoder/x86/mov_size_details.cpp
- test_instruction_farcall.C         -> decoder/x86/farcall.cpp
- test_instruction_bind_eval.C       -> decoder/x86/bind_eval.cpp
- test_instruction_read_write.C      -> decoder/x86/read_write.cpp

Remove the test sources, their blocks in
src/specification/spec-grouped.pl, and regenerate the platform
directories (gprolog 1.5.0, Makefile.genspec gen-clean gen-all). The
regenerated diffs contain exactly the removal of these tests from
test_info_new.gen.C and cmake-mutators.txt on every platform.

The remaining instruction-module tests are aarch64_decode.C (an empty
stub whose executeTest() just returns PASSED) and
test_instruction_profile.C (decodes the host's libc via SymtabAPI, so
it depends on external state and stays here for now).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@bbiiggppiigg
bbiiggppiigg force-pushed the bbiiggppiigg/remove-ported-instruction-tests branch from 09e15c0 to 2b0006e Compare August 4, 2026 21:42
@hainest

hainest commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

The compiler stuff was split out (thank you much), but the commits weren't removed here.

@bbiiggppiigg

Copy link
Copy Markdown
Member Author

The compiler stuff was split out (thank you much), but the commits weren't removed here.

I know, the plan was to rebased this on top of master after #277 goes in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants