Skip to content

Tests conformance_arena_constraints fail on machine without NUMA #2039

@petterreinholdtsen

Description

@petterreinholdtsen

Summary

The tests conformance_arena_constraints fail on a GNU Hurd machine where no NUMA support is available.

This is caused by the code in test/conformance/conformance_arena_constraints.cpp in the TEST_CASE("Test NUMA topology traversal correctness") method where numa_info.index is compared to numa_id, and the former is -1 while the latter is 0. I am unsure what the proper fix is, but one way to fix it is to change src/tbbbind/tbb_bind.cpp method numa_topology_parsing() where changing "numa_indexes_list.push_back(numa_nodes_count == 0 ? -1 : 0);" to "numa_indexes_list.push_back(numa_nodes_count == 0 ? 0 : 0);" make the tests succeed. It can also be fixed by changing test/conformance/conformance_arena_constraints.cpp method TEST_CASE("Test NUMA topology traversal correctness") and changing "return numa_info.index == numa_id;" to "return -1 == numa_info.index || numa_info.index == numa_id;". I do not understand the code enough to know if these changes make sense or if the fix should be applied elsewhere.

Version

The current master branch with patches from PR #2025 #2026 #2028 #2029 #2038.

Environment

Debian GNU Hurd sid edition using VM with gcc 15.

Observed Behavior

The tests fail.

Expected Behavior

The tests should succeed.

Steps To Reproduce

Make Virtual Manager VM, install Debian GNU Herd, adjust VM XML to enable HPET, fetch build dependencies and run 'cmake ; make; make test'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions