Calling what should be a pure virtual function(*) isn't raising an exception (sometimes). This issue seems very similar to #11424
On a local Catalina machine, I'm able to reproduce the issue with the following command:
bazel test --test_summary=short --runs_per_test=100 //bindings/pydrake:py/geometry_render_engine_subclass_test --test_arg=TestRenderEngineSubclass.test_unimplemented_rendering
EDIT(eric): Updated for #14724
It fails about 2% of the time.
Slack discussions:
https://drakedevelopers.slack.com/archives/C270MN28G/p1613504306108500
https://drakedevelopers.slack.com/archives/C270MN28G/p1612967089031600
(*) Although we're calling PYBIND11_OVERLOAD_PURE here the C++ function is not actually a pure virtual function, but the desired behavior is that it should throw an exception if not implemented. See #14300.
Calling what should be a pure virtual function(*) isn't raising an exception (sometimes). This issue seems very similar to #11424
On a local Catalina machine, I'm able to reproduce the issue with the following command:
EDIT(eric): Updated for #14724
It fails about 2% of the time.
Slack discussions:
https://drakedevelopers.slack.com/archives/C270MN28G/p1613504306108500
https://drakedevelopers.slack.com/archives/C270MN28G/p1612967089031600
(*) Although we're calling PYBIND11_OVERLOAD_PURE here the C++ function is not actually a pure virtual function, but the desired behavior is that it should throw an exception if not implemented. See #14300.