summaryrefslogtreecommitdiffstats
path: root/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2015-12-01 23:34:41 +0100
committerEndi S. Dewata <edewata@redhat.com>2015-12-01 21:10:43 +0100
commit6a9990784b3a5ff18a800a288e8d1af173c7ae6e (patch)
treeff43c432f868edb0765180d41c09e6f358d666c0 /base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
parentc44d643c8f1f1b34004e8a1c5eedbcb75e46860d (diff)
downloadpki-6a9990784b3a5ff18a800a288e8d1af173c7ae6e.tar.gz
pki-6a9990784b3a5ff18a800a288e8d1af173c7ae6e.tar.xz
pki-6a9990784b3a5ff18a800a288e8d1af173c7ae6e.zip
Fixed selftest error handling.
The selftest has been modified to throw an exception and provide more specific error message if a test fails in order to help troubleshoot the problem. https://fedorahosted.org/pki/ticket/1328
Diffstat (limited to 'base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java')
-rw-r--r--base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java30
1 files changed, 22 insertions, 8 deletions
diff --git a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
index d060f8180..14fab26e4 100644
--- a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
+++ b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
@@ -1328,13 +1328,24 @@ public class SelfTestSubsystem
loggerFullName,
loggerValue));
- throw new EInvalidSelfTestException(loggerFullName,
- loggerValue);
+ throw new EInvalidSelfTestException(
+ "The self test plugin named " +
+ loggerFullName + " contains a value " +
+ loggerValue + " which is not an instance of ILogEventListener.");
}
// initialize the self tests logger
mLogger = (ILogEventListener) o;
mLogger.init(this, loggerConfig);
+
+ } catch (EMissingSelfTestException e) {
+ // already logged
+ throw e;
+
+ } catch (EInvalidSelfTestException e) {
+ // already logged
+ throw e;
+
} catch (EBaseException e) {
// self test property name EBaseException
@@ -1351,8 +1362,8 @@ public class SelfTestSubsystem
loggerFullName,
loggerValue));
- throw new EInvalidSelfTestException(loggerFullName,
- loggerValue);
+ throw e;
+
} catch (Exception e) {
// NOTE: These messages can only be logged to the
// "transactions" log, since the "selftests.log"
@@ -1369,8 +1380,7 @@ public class SelfTestSubsystem
CMS.debugStackTrace();
- throw new EInvalidSelfTestException(loggerFullName,
- loggerValue);
+ throw new EBaseException(e);
}
}
@@ -1481,6 +1491,11 @@ public class SelfTestSubsystem
throw new EMissingSelfTestException(instanceFullName,
instanceValue);
}
+
+ } catch (EMissingSelfTestException e) {
+ // already logged
+ throw e;
+
} catch (EBaseException e) {
// self test property name EBaseException
log(mLogger,
@@ -1489,8 +1504,7 @@ public class SelfTestSubsystem
instanceFullName,
instanceValue));
- throw new EInvalidSelfTestException(instanceFullName,
- instanceValue);
+ throw e;
}
// verify that the associated class is a valid instance of ISelfTest