modules.put(name, module);
module.read(dis);
} else {
+ if (module.offset == null) {
+ //This should not happen. bug 59858
+ throw new IOException("Module offset for '" + name + "' was never read.");
+ }
// we know the offset already, so decompress immediately on-the-fly
long skippedBytes = dis.skip(module.offset);
if (skippedBytes != module.offset) {
try {
fromFile(POIDataSamples.getSpreadSheetInstance(), "59858.xls");
fail("This test passes now. Please update the unit test and bug 59858.");
- } catch (NullPointerException e) {
- e.printStackTrace();
- // NPE when reading module.offset in VBAMacroReader.readMacros (approx line 258)
- assumeTrue("This test currently fails with an NPE. See stdout.", false);
+ } catch (IOException e) {
+ if (e.getMessage().matches("Module offset for '.+' was never read.")) {
+ //e.printStackTrace();
+ // NPE when reading module.offset in VBAMacroReader.readMacros (approx line 258)
+ assumeTrue("This test currently fails. See stdout.", false);
+ } else {
+ // something unexpected failed
+ throw e;
+ }
}
}
}