提交 6a6446a0 编写于 作者: J Jesse Glick

Backporting concurrentHashMapSerialization test removal from #2071, as it...

Backporting concurrentHashMapSerialization test removal from #2071, as it prevents use of JDK 8 to run core tests.
上级 de29daa3
......@@ -272,37 +272,6 @@ public class XStream2Test {
ConcurrentHashMap<String,String> m = new ConcurrentHashMap<String,String>();
}
/**
* Tests that ConcurrentHashMap is serialized into a more compact format,
* but still can deserialize to older, verbose format.
*/
@Test
public void concurrentHashMapSerialization() throws Exception {
Foo2 foo = new Foo2();
foo.m.put("abc","def");
foo.m.put("ghi","jkl");
File v = File.createTempFile("hashmap", "xml");
try {
new XmlFile(v).write(foo);
// should serialize like map
String xml = FileUtils.readFileToString(v);
assertFalse(xml.contains("java.util.concurrent"));
//System.out.println(xml);
Foo2 deserialized = (Foo2) new XStream2().fromXML(xml);
assertEquals(2,deserialized.m.size());
assertEquals("def", deserialized.m.get("abc"));
assertEquals("jkl", deserialized.m.get("ghi"));
} finally {
v.delete();
}
// should be able to read in old data just fine
Foo2 map = (Foo2) new XStream2().fromXML(getClass().getResourceAsStream("old-concurrentHashMap.xml"));
assertEquals(1,map.m.size());
assertEquals("def",map.m.get("abc"));
}
@Issue("SECURITY-105")
@Test
public void dynamicProxyBlocked() {
......
<hudson.util.XStream2Test_-Foo2>
<m serialization="custom">
<unserializable-parents/>
<java.util.concurrent.ConcurrentHashMap>
<default>
<segmentMask>15</segmentMask>
<segmentShift>28</segmentShift>
<segments>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
<java.util.concurrent.ConcurrentHashMap_-Segment>
<sync class="java.util.concurrent.locks.ReentrantLock$NonfairSync" serialization="custom">
<java.util.concurrent.locks.AbstractQueuedSynchronizer>
<default>
<state>0</state>
</default>
</java.util.concurrent.locks.AbstractQueuedSynchronizer>
<java.util.concurrent.locks.ReentrantLock_-Sync>
<default/>
</java.util.concurrent.locks.ReentrantLock_-Sync>
</sync>
<loadFactor>0.75</loadFactor>
</java.util.concurrent.ConcurrentHashMap_-Segment>
</segments>
</default>
<string>abc</string>
<string>def</string>
<null/>
<null/>
</java.util.concurrent.ConcurrentHashMap>
</m>
</hudson.util.XStream2Test_-Foo2>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册