RFR: 8285295: Need better testing for IdentityHashMap
Jaikiran Pai
jpai at openjdk.java.net
Thu Apr 28 13:26:45 UTC 2022
On Fri, 22 Apr 2022 03:37:27 GMT, Stuart Marks <smarks at openjdk.org> wrote:
> Basic but fairly comprehensive set of tests for `IdentityHashMap`. The patch in the bug report that breaks `IdentityHashMap` now causes several cases in this new test to fail. There's more that could be done, but the new tests cover most of the core functions of `IdentityHashMap`. Unfortunately it seems difficult to merge this with the existing, comprehensive Collections tests (e.g., MOAT.java) because those tests implicity rely on `equals()`-based contract instead of the special-purpose `==`-based contract used by `IdentityHashMap`.
test/jdk/java/util/IdentityHashMap/Basic.java line 337:
> 335: public void testPutOverwrite() {
> 336: Box newVal = new Box(v1a);
> 337: map.put(k1a, newVal);
Should we capture the return value and assert that it's not null and is identity equal to `v1a`?
Perhaps, similarly at a few other places where we do put and putIfAbsent?
-------------
PR: https://git.openjdk.java.net/jdk/pull/8354
More information about the core-libs-dev
mailing list