From 3a225dd29d1cd40c264d40ff012d718e1c62987d Mon Sep 17 00:00:00 2001 From: Peter Lawrey Date: Fri, 23 May 2025 09:03:37 +0100 Subject: [PATCH] Add test for setThreadId reflection update --- .../net/openhft/affinity/SetThreadIdTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 affinity/src/test/java/net/openhft/affinity/SetThreadIdTest.java diff --git a/affinity/src/test/java/net/openhft/affinity/SetThreadIdTest.java b/affinity/src/test/java/net/openhft/affinity/SetThreadIdTest.java new file mode 100644 index 000000000..aa6c1caf1 --- /dev/null +++ b/affinity/src/test/java/net/openhft/affinity/SetThreadIdTest.java @@ -0,0 +1,25 @@ +package net.openhft.affinity; + +import org.junit.Assume; +import org.junit.Test; + +import java.lang.reflect.Field; + +import static org.junit.Assert.assertEquals; + +public class SetThreadIdTest { + + @Test + public void setThreadIdShouldUpdateThreadTidField() throws Exception { + Field tidFieldField = Affinity.class.getDeclaredField("THREAD_TID_FIELD"); + tidFieldField.setAccessible(true); + Field tidField = (Field) tidFieldField.get(null); + Assume.assumeTrue(tidField != null); + tidField.setAccessible(true); + + Affinity.setThreadId(); + long expected = Affinity.getThreadId(); + long actual = tidField.getLong(Thread.currentThread()); + assertEquals(expected, actual); + } +}