This seems to be a problem with botan's makesystem since the ebuild has the "| die" stuff. When I experienced bug 274709 I tried to remerge botan since it came right after I rebuild monotone due to linking issues against botan. When I saw the buildlog for butan it said that botan failed nearly every test due to that specific issue. However emerge still went on and merged the package. With other words: even when botan fails tests (which it never should unless something is wrong) the merge still completes, merging a broken lib.
This seems to be fixed in upstream mtn, but apparently it will be for 1.8.5 and above. The change in question seems to be: ============================================================ --- checks/check.cpp 59dacb23c1c0e968a4bcd2897230ddb2f0f02740 +++ checks/check.cpp a60a362d7a91abd6b74154d4006ec3520a1795ce @@ -122,7 +122,7 @@ int main(int argc, char* argv[]) if(opts.is_set("validate") || opts.is_set("test")) { - run_test_suite(rng); + return run_test_suite(rng); } if(opts.is_set("bench-algo") || opts.is_set("benchmark") || I letting this bug stay open so maintainer can decide on whether applying this change to earlier versions (which cannot break anything but src_test() and that during build) or close waiting for an upstream release with the change.
Fixed in dev-libs/botan-1.8.5.