Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
tempout = tmpdir.join("rename_output.json")
command = 'pyhf rename -m staterror_channel1 staterror_channelone --measurement GammaExample GamEx {0:s} --output-file {1:s}'.format(
temp.strpath, tempout.strpath
)
ret = script_runner.run(*shlex.split(command))
assert ret.success
spec = json.loads(temp.read())
ws = pyhf.Workspace(spec)
assert 'GammaExample' in ws.measurement_names
assert 'GamEx' not in ws.measurement_names
assert 'staterror_channel1' in ws.parameters
assert 'staterror_channelone' not in ws.parameters
renamed_spec = json.loads(tempout.read())
renamed_ws = pyhf.Workspace(renamed_spec)
assert 'GammaExample' not in renamed_ws.measurement_names
assert 'GamEx' in renamed_ws.measurement_names
assert 'staterror_channel1' not in renamed_ws.parameters
assert 'staterror_channelone' in renamed_ws.parameters
)
ret = script_runner.run(*shlex.split(command))
tempout = tmpdir.join("prune_output.json")
command = 'pyhf prune -m staterror_channel1 --measurement GammaExample {0:s} --output-file {1:s}'.format(
temp.strpath, tempout.strpath
)
ret = script_runner.run(*shlex.split(command))
assert ret.success
spec = json.loads(temp.read())
ws = pyhf.Workspace(spec)
assert 'GammaExample' in ws.measurement_names
assert 'staterror_channel1' in ws.parameters
pruned_spec = json.loads(tempout.read())
pruned_ws = pyhf.Workspace(pruned_spec)
assert 'GammaExample' not in pruned_ws.measurement_names
assert 'staterror_channel1' not in pruned_ws.parameters
def test_rename_outfile(tmpdir, script_runner):
temp = tmpdir.join("parsed_output.json")
command = 'pyhf xml2json validation/xmlimport_input/config/example.xml --basedir validation/xmlimport_input/ --output-file {0:s} --hide-progress'.format(
temp.strpath
)
ret = script_runner.run(*shlex.split(command))
tempout = tmpdir.join("rename_output.json")
command = 'pyhf rename -m staterror_channel1 staterror_channelone --measurement GammaExample GamEx {0:s} --output-file {1:s}'.format(
temp.strpath, tempout.strpath
)
ret = script_runner.run(*shlex.split(command))
assert ret.success
spec = json.loads(temp.read())
ws = pyhf.Workspace(spec)
assert 'GammaExample' in ws.measurement_names
assert 'GamEx' not in ws.measurement_names
assert 'staterror_channel1' in ws.parameters
assert 'staterror_channelone' not in ws.parameters
renamed_spec = json.loads(tempout.read())
renamed_ws = pyhf.Workspace(renamed_spec)
assert 'GammaExample' not in renamed_ws.measurement_names
assert 'GamEx' in renamed_ws.measurement_names
assert 'staterror_channel1' not in renamed_ws.parameters
assert 'staterror_channelone' in renamed_ws.parameters
def test_prune_outfile(tmpdir, script_runner):
temp = tmpdir.join("parsed_output.json")
command = 'pyhf xml2json validation/xmlimport_input/config/example.xml --basedir validation/xmlimport_input/ --output-file {0:s} --hide-progress'.format(
temp.strpath
)
ret = script_runner.run(*shlex.split(command))
tempout = tmpdir.join("prune_output.json")
command = 'pyhf prune -m staterror_channel1 --measurement GammaExample {0:s} --output-file {1:s}'.format(
temp.strpath, tempout.strpath
)
ret = script_runner.run(*shlex.split(command))
assert ret.success
spec = json.loads(temp.read())
ws = pyhf.Workspace(spec)
assert 'GammaExample' in ws.measurement_names
assert 'staterror_channel1' in ws.parameters
pruned_spec = json.loads(tempout.read())
pruned_ws = pyhf.Workspace(pruned_spec)
assert 'GammaExample' not in pruned_ws.measurement_names
assert 'staterror_channel1' not in pruned_ws.parameters
def test_import_normfactor_bounds():
parsed_xml = pyhf.readxml.parse(
'validation/xmlimport_input2/config/example.xml', 'validation/xmlimport_input2'
)
ws = pyhf.Workspace(parsed_xml)
assert ('SigXsecOverSM', 'normfactor') in ws.modifiers
parameters = [
p
for p in ws.get_measurement(measurement_name='GaussExample')['config'][
'parameters'
]
if p['name'] == 'SigXsecOverSM'
]
assert len(parameters) == 1
parameter = parameters[0]
assert parameter['bounds'] == [[0, 10]]
return lambda: pyhf.Workspace(workspace_xml)
},
modifiers={
'syst1': 'syst4',
'bkg1Shape': 'bkg3Shape',
'bkg2Shape': 'bkg4Shape',
},
measurements={
'ConstExample': 'OtherConstExample',
'LogNormExample': 'OtherLogNormExample',
'GaussExample': 'OtherGaussExample',
'GammaExample': 'OtherGammaExample',
},
)
new_ws.version = '0.0.0'
with pytest.raises(pyhf.exceptions.InvalidWorkspaceOperation) as excinfo:
combined = pyhf.Workspace.combine(ws, new_ws)