Merge pull request #566 from antmicro/umarcor/envvars
f4pga/wrappers/sh: do not require F4PGA_ENV_* envvars as long as F4PGA_INSTALL_DIR is defined
This commit is contained in:
commit
297978cb82
|
@ -24,15 +24,28 @@ from pathlib import Path
|
||||||
from subprocess import check_call
|
from subprocess import check_call
|
||||||
|
|
||||||
|
|
||||||
|
f4pga_environ = environ.copy()
|
||||||
|
|
||||||
ROOT = Path(__file__).resolve().parent
|
ROOT = Path(__file__).resolve().parent
|
||||||
F4PGA_FAM = environ.get('F4PGA_FAM', 'xc7')
|
F4PGA_FAM = f4pga_environ.get('F4PGA_FAM', 'xc7')
|
||||||
SH_SUBDIR = 'quicklogic' if F4PGA_FAM == 'eos-s3' else F4PGA_FAM
|
isQuickLogic = F4PGA_FAM == 'eos-s3'
|
||||||
|
SH_SUBDIR = 'quicklogic' if isQuickLogic else F4PGA_FAM
|
||||||
|
|
||||||
|
F4PGA_INSTALL_DIR = f4pga_environ.get('F4PGA_INSTALL_DIR')
|
||||||
|
if F4PGA_INSTALL_DIR is None:
|
||||||
|
raise(Exception("Required environment variable F4PGA_INSTALL_DIR is undefined!"))
|
||||||
|
F4PGA_INSTALL_DIR_PATH = Path(F4PGA_INSTALL_DIR)
|
||||||
|
|
||||||
|
f4pga_environ['F4PGA_ENV_BIN'] = f4pga_environ.get('F4PGA_ENV_BIN', str(F4PGA_INSTALL_DIR_PATH / F4PGA_FAM / 'conda/bin'))
|
||||||
|
f4pga_environ['F4PGA_ENV_SHARE'] = f4pga_environ.get('F4PGA_ENV_SHARE', str(F4PGA_INSTALL_DIR_PATH / F4PGA_FAM / (
|
||||||
|
'share' if isQuickLogic else 'install/share/symbiflow'
|
||||||
|
)))
|
||||||
|
|
||||||
|
|
||||||
def run_sh(script):
|
def run_sh(script):
|
||||||
stdout.flush()
|
stdout.flush()
|
||||||
stderr.flush()
|
stderr.flush()
|
||||||
check_call([str(script)]+sys_argv[1:])
|
check_call([str(script)]+sys_argv[1:], env=f4pga_environ)
|
||||||
|
|
||||||
|
|
||||||
def generate_constraints():
|
def generate_constraints():
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
|
from os import environ
|
||||||
from pytest import mark
|
from pytest import mark
|
||||||
from sys import stdout, stderr
|
from sys import stdout, stderr
|
||||||
|
|
||||||
from subprocess import check_call
|
from subprocess import check_call
|
||||||
|
|
||||||
|
|
||||||
@mark.xfail
|
wrappers = [
|
||||||
@mark.parametrize(
|
|
||||||
"wrapper",
|
|
||||||
[
|
|
||||||
'symbiflow_generate_constraints',
|
'symbiflow_generate_constraints',
|
||||||
'symbiflow_pack',
|
'symbiflow_pack',
|
||||||
'symbiflow_place',
|
'symbiflow_place',
|
||||||
|
@ -23,6 +21,11 @@ from subprocess import check_call
|
||||||
'symbiflow_generate_libfile',
|
'symbiflow_generate_libfile',
|
||||||
'ql_symbiflow'
|
'ql_symbiflow'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@mark.xfail
|
||||||
|
@mark.parametrize(
|
||||||
|
"wrapper",
|
||||||
|
wrappers
|
||||||
)
|
)
|
||||||
def test_shell_wrapper(wrapper):
|
def test_shell_wrapper(wrapper):
|
||||||
print(f"\n::group::Test {wrapper}")
|
print(f"\n::group::Test {wrapper}")
|
||||||
|
@ -32,3 +35,20 @@ def test_shell_wrapper(wrapper):
|
||||||
check_call(f"{wrapper}")
|
check_call(f"{wrapper}")
|
||||||
finally:
|
finally:
|
||||||
print("\n::endgroup::")
|
print("\n::endgroup::")
|
||||||
|
|
||||||
|
@mark.xfail
|
||||||
|
@mark.parametrize(
|
||||||
|
"wrapper",
|
||||||
|
wrappers
|
||||||
|
)
|
||||||
|
def test_shell_wrapper_without_F4PGA_INSTALL_DIR(wrapper):
|
||||||
|
test_environ = environ.copy()
|
||||||
|
del test_environ['F4PGA_INSTALL_DIR']
|
||||||
|
|
||||||
|
print(f"\n::group::Test {wrapper}")
|
||||||
|
stdout.flush()
|
||||||
|
stderr.flush()
|
||||||
|
try:
|
||||||
|
check_call(f"{wrapper}", env=test_environ)
|
||||||
|
finally:
|
||||||
|
print("\n::endgroup::")
|
||||||
|
|
Loading…
Reference in New Issue