提交 37b4280b 编写于 作者: C coffeys

8028583: Add helper methods to test libraries

Reviewed-by: chegar
上级 dd9bf7a5
/*
* Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -127,6 +127,33 @@ public class TestLibrary {
bomb(null, e);
}
/**
* Helper method to determine if registry has started
*
* @param port The port number to check
* @param msTimeout The amount of milliseconds to spend checking
*/
public static boolean checkIfRegistryRunning(int port, int msTimeout) {
long stopTime = System.currentTimeMillis() + msTimeout;
do {
try {
Registry r = LocateRegistry.getRegistry(port);
String[] s = r.list();
// no exception. We're now happy that registry is running
return true;
} catch (RemoteException e) {
// problem - not ready ? Try again
try {
Thread.sleep(500);
} catch (InterruptedException ie) {
// not expected
}
}
} while (stopTime > System.currentTimeMillis());
return false;
}
public static String getProperty(String property, String defaultVal) {
final String prop = property;
final String def = defaultVal;
......
......@@ -68,6 +68,31 @@ public final class FileUtils {
}
}
/**
* Deletes a file, retrying if necessary.
* No exception thrown if file doesn't exist.
*
* @param path the file to delete
*
* @throws NoSuchFileException
* if the file does not exist (optional specific exception)
* @throws DirectoryNotEmptyException
* if the file is a directory and could not otherwise be deleted
* because the directory is not empty (optional specific exception)
* @throws IOException
* if an I/O error occurs
*/
public static void deleteFileIfExistsWithRetry(Path path)
throws IOException
{
try {
if(Files.exists(path))
deleteFileWithRetry0(path);
} catch (InterruptedException x) {
throw new IOException("Interrupted while deleting.", x);
}
}
private static void deleteFileWithRetry0(Path path)
throws IOException, InterruptedException
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册