Only capture stdout; allow stderr to leak out to the terminal. This
allows diagnosis of errors from subprocesses.
def to_Digest16(v: Verification, digest32: Digest32) -> Digest16:
v.status('Converting digest to base16')
process = subprocess.run(
def to_Digest16(v: Verification, digest32: Digest32) -> Digest16:
v.status('Converting digest to base16')
process = subprocess.run(
- ['nix', 'to-base16', '--type', 'sha256', digest32], capture_output=True)
+ ['nix', 'to-base16', '--type', 'sha256', digest32], stdout=subprocess.PIPE)
v.result(process.returncode == 0)
return Digest16(process.stdout.decode().strip())
v.result(process.returncode == 0)
return Digest16(process.stdout.decode().strip())
def to_Digest32(v: Verification, digest16: Digest16) -> Digest32:
v.status('Converting digest to base32')
process = subprocess.run(
def to_Digest32(v: Verification, digest16: Digest16) -> Digest32:
v.status('Converting digest to base32')
process = subprocess.run(
- ['nix', 'to-base32', '--type', 'sha256', digest16], capture_output=True)
+ ['nix', 'to-base32', '--type', 'sha256', digest16], stdout=subprocess.PIPE)
v.result(process.returncode == 0)
return Digest32(process.stdout.decode().strip())
v.result(process.returncode == 0)
return Digest32(process.stdout.decode().strip())
digest: Digest16) -> str:
v.status('Fetching %s' % url)
process = subprocess.run(
digest: Digest16) -> str:
v.status('Fetching %s' % url)
process = subprocess.run(
- ['nix-prefetch-url', '--print-path', url, digest], capture_output=True)
+ ['nix-prefetch-url', '--print-path', url, digest], stdout=subprocess.PIPE)
v.result(process.returncode == 0)
prefetch_digest, path, empty = process.stdout.decode().split('\n')
assert empty == ''
v.result(process.returncode == 0)
prefetch_digest, path, empty = process.stdout.decode().split('\n')
assert empty == ''
v.status('Putting tarball in Nix store')
process = subprocess.run(
v.status('Putting tarball in Nix store')
process = subprocess.run(
- ['nix-store', '--add', output_filename], capture_output=True)
+ ['nix-store', '--add', output_filename], stdout=subprocess.PIPE)
v.result(process.returncode == 0)
store_tarball = process.stdout.decode().strip()
v.result(process.returncode == 0)
store_tarball = process.stdout.decode().strip()
'--format=%ct-%h',
'--abbrev=11',
channel.git_revision],
'--format=%ct-%h',
'--abbrev=11',
channel.git_revision],
+ stdout=subprocess.PIPE)
v.result(process.returncode == 0 and process.stdout != b'')
return '%s-%s' % (os.path.basename(channel.git_repo),
process.stdout.decode().strip())
v.result(process.returncode == 0 and process.stdout != b'')
return '%s-%s' % (os.path.basename(channel.git_repo),
process.stdout.decode().strip())