tests/charm++: top-level make test fails on SMP builds; objloads has no smptest target

Open Beginner friendly
#4,210 0 comments 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

Research direction

Start with the Makefile in tests/charm++/objloads and compare its targets with those in the other TESTDIRS directories. Check both Makefile branches and how the top-level smptest target invokes each directory. Add a suitable smptest target, then confirm that make test in tests/charm++ succeeds on an SMP build.

Written by the indexing model from the issue text.

Description

On an SMP build (every reconverse build has CMK_SMP=1), make test in tests/charm++ ends by running make smptest, which runs smptest in every directory of TESTDIRS. tests/charm++/objloads (added by #4182) has no smptest target, in either branch of its Makefile, so the top-level run fails:

make[1]: *** No rule to make target `smptest'.  Stop.
make: *** [smptest-objloads] Error 2

CI does not see it, because the workflow runs each directory in TEST_DIRS with its own make test and never runs the top-level tests/charm++ target. A local make test in tests/charm++ exits 2 on any reconverse build.

Fix: give objloads an smptest target, like the other directories. It could run the same server and client with +p2 in one process, or be smptest: test in the tracing branch and smptest: all in the skip branch.

Found while running the full tests/charm++ suite for a core PR, on macOS (debug syncft build on recharm 0dec1471a).

🤖 Generated with Claude Code

Dominant language
C++
Stars
241
Forks
62
Avg merge
1d 1h
Merged PRs (30d)
121

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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 charmplusplus/charm

All issues in charmplusplus/charm

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.