Open kazurayam opened 1 year ago
v0.8.1 ChronosDiff class https://github.com/kazurayam/inspectus/blob/0.8.1/src/main/java/com/kazurayam/inspectus/core/internal/ChronosDiff.java
has the following code:
public Intermediates step1_restorePrevious(Parameters parameters,
Intermediates intermediates)
throws InspectusException {
Store backup = parameters.getBackup();
Store store = parameters.getStore();
JobName jobName = parameters.getJobName();
try {
StoreImport importer = StoreImport.newInstance(backup, store);
importer.importReports(jobName);
} catch (MaterialstoreException e) {
if (e.getMessage().matches(
String.format("JobName \"%s\" is not found in %s", jobName, backup))) {
logger.warn(e.getMessage());
logger.info("This warning may happen. You should try again.");
} else {
throw new InspectusException(e);
}
}
return Intermediates.builder(intermediates).build();
}
This code is not robust enough.
store-back
is not there at all. Then it should quickly throw InspectusException with appropriate message.String#matches()
method that involves Regular expression. Regex is sensitve about \
character. This makes things fragile. I need to be more careful.
I created a new Katalon Studio project on Windows PC where neither of
store
andstore-backup
directory are there. When I executed "Test Cases/CURA/main", I got the followin Exception.