Issue #2688 Return value from
subprocess.check_output is not return code, but is process output. Updated check for success. Change-Id: If06cb77406f4c5dd07a356236b7a8cae908cd2fd Former-commit-id:8d7178cf68
[formerly 8fb43f1e2a108af18c1a6908bed54e8ca71369e0] Former-commit-id:28440284d1
This commit is contained in:
parent
94c25f784e
commit
7f4abee83c
1 changed files with 15 additions and 2 deletions
|
@ -34,6 +34,9 @@
|
||||||
# 02/12/13 #1608 randerso Added support for explicitly deleting groups and datasets
|
# 02/12/13 #1608 randerso Added support for explicitly deleting groups and datasets
|
||||||
# Nov 14, 2013 2393 bclement removed interpolation
|
# Nov 14, 2013 2393 bclement removed interpolation
|
||||||
# Jan 17, 2014 2688 bclement added file action and subprocess error logging
|
# Jan 17, 2014 2688 bclement added file action and subprocess error logging
|
||||||
|
# Mar 19, 2014 2688 bgonzale added more subprocess logging. Return value from
|
||||||
|
# subprocess.check_output is not return code, but is
|
||||||
|
# process output. h5repack has no output without -v arg.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ -773,14 +776,24 @@ class H5pyDataStore(IDataStore.IDataStore):
|
||||||
else:
|
else:
|
||||||
repackedFullPath = filepath.replace(basePath, outDir)
|
repackedFullPath = filepath.replace(basePath, outDir)
|
||||||
cmd = ['h5repack', '-f', compression, filepath, repackedFullPath]
|
cmd = ['h5repack', '-f', compression, filepath, repackedFullPath]
|
||||||
|
if logger.isEnabledFor(logging.DEBUG):
|
||||||
|
cmd.insert(1, '-v')
|
||||||
|
success = True
|
||||||
|
ret = None
|
||||||
try:
|
try:
|
||||||
ret = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
|
ret = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
|
||||||
success = (ret == 0)
|
# if CalledProcessError is not raised then success
|
||||||
except subprocess.CalledProcessError, e:
|
except subprocess.CalledProcessError, e:
|
||||||
logger.error("Subprocess call failed: " + str(e))
|
logger.error("Subprocess call failed: " + str(e))
|
||||||
|
logger.error("Subprocess args: " + " ".join(cmd))
|
||||||
logger.error("Subprocess output: " + e.output)
|
logger.error("Subprocess output: " + e.output)
|
||||||
success = False
|
success = False
|
||||||
|
except:
|
||||||
|
logger.exception("Unexpected error from h5repack")
|
||||||
|
success = False
|
||||||
|
finally:
|
||||||
|
logger.debug("h5repack output: " + str(ret))
|
||||||
|
|
||||||
if success:
|
if success:
|
||||||
# repack was successful, replace the old file if we did it in the
|
# repack was successful, replace the old file if we did it in the
|
||||||
# same directory, otherwise leave it alone
|
# same directory, otherwise leave it alone
|
||||||
|
|
Loading…
Add table
Reference in a new issue