package org.apache.hadoop.hdfs.server.namenode; import java.lang.reflect.Constructor; import static org.junit.Assert.*; import org.junit.BeforeClass; import org.junit.Test; /** * Tests that we don't have assertion failures with setModificationTime on * INodeHardLinkFile. */ public class TestSetModificationTime { private static INodeHardLinkFile file; @BeforeClass public static void setupBeforeClass() throws Exception { // Enable assertions for INodeHardLinkFile ClassLoader loader = ClassLoader.getSystemClassLoader(); loader.setDefaultAssertionStatus(true); Class<?> c = loader .loadClass("org.apache.hadoop.hdfs.server.namenode.INodeHardLinkFile"); Constructor<?> ctor = c.getDeclaredConstructor(INodeFile.class, Long.TYPE); INodeFile inode = new INodeFile(); inode.setLocalName("test"); inode.setReplication((short) 1); file = (INodeHardLinkFile) ctor.newInstance(inode, 1); } @Test public void testMod() { file.setModificationTime(1); assertEquals(1, file.getModificationTime()); file.setModificationTimeForce(0); assertEquals(0, file.getModificationTime()); } }