forked from M-Labs/artiq
consistent use of 'class name' terminology to select a class within an experiment file. Closes #1348
This commit is contained in:
parent
21021beb08
commit
98caaebade
|
@ -31,6 +31,8 @@ ARTIQ-5
|
||||||
programs.
|
programs.
|
||||||
* On Kasli the firmware now starts with a unique default MAC address
|
* On Kasli the firmware now starts with a unique default MAC address
|
||||||
from EEPROM if `mac` is absent from the flash config.
|
from EEPROM if `mac` is absent from the flash config.
|
||||||
|
* The ``-e/--experiment`` switch of ``artiq_run`` and ``artiq_compile``
|
||||||
|
has been renamed ``-c/--class-name``.
|
||||||
|
|
||||||
|
|
||||||
ARTIQ-4
|
ARTIQ-4
|
||||||
|
|
|
@ -21,8 +21,8 @@ def get_argparser():
|
||||||
parser.add_argument("--dataset-db", default="dataset_db.pyon",
|
parser.add_argument("--dataset-db", default="dataset_db.pyon",
|
||||||
help="dataset file (default: '%(default)s')")
|
help="dataset file (default: '%(default)s')")
|
||||||
|
|
||||||
parser.add_argument("-e", "--experiment", default=None,
|
parser.add_argument("-c", "--class-name", default=None,
|
||||||
help="experiment to compile")
|
help="name of the class to compile")
|
||||||
|
|
||||||
parser.add_argument("-o", "--output", default=None,
|
parser.add_argument("-o", "--output", default=None,
|
||||||
help="output file")
|
help="output file")
|
||||||
|
@ -43,7 +43,7 @@ def main():
|
||||||
|
|
||||||
try:
|
try:
|
||||||
module = file_import(args.file, prefix="artiq_run_")
|
module = file_import(args.file, prefix="artiq_run_")
|
||||||
exp = get_experiment(module, args.experiment)
|
exp = get_experiment(module, args.class_name)
|
||||||
arguments = parse_arguments(args.arguments)
|
arguments = parse_arguments(args.arguments)
|
||||||
argument_mgr = ProcessArgumentManager(arguments)
|
argument_mgr = ProcessArgumentManager(arguments)
|
||||||
exp_inst = exp((device_mgr, dataset_mgr, argument_mgr, {}))
|
exp_inst = exp((device_mgr, dataset_mgr, argument_mgr, {}))
|
||||||
|
|
|
@ -132,8 +132,8 @@ def get_argparser(with_file=True):
|
||||||
parser.add_argument("--dataset-db", default="dataset_db.pyon",
|
parser.add_argument("--dataset-db", default="dataset_db.pyon",
|
||||||
help="dataset file (default: '%(default)s')")
|
help="dataset file (default: '%(default)s')")
|
||||||
|
|
||||||
parser.add_argument("-e", "--experiment", default=None,
|
parser.add_argument("-c", "--class-name", default=None,
|
||||||
help="experiment to run")
|
help="name of the class to run")
|
||||||
parser.add_argument("-o", "--hdf5", default=None,
|
parser.add_argument("-o", "--hdf5", default=None,
|
||||||
help="write results to specified HDF5 file"
|
help="write results to specified HDF5 file"
|
||||||
" (default: print them)")
|
" (default: print them)")
|
||||||
|
@ -157,8 +157,8 @@ def _build_experiment(device_mgr, dataset_mgr, args):
|
||||||
if is_elf or is_ll or is_bc:
|
if is_elf or is_ll or is_bc:
|
||||||
if args.arguments:
|
if args.arguments:
|
||||||
raise ValueError("arguments not supported for precompiled kernels")
|
raise ValueError("arguments not supported for precompiled kernels")
|
||||||
if args.experiment:
|
if args.class_name:
|
||||||
raise ValueError("experiment-by-name not supported "
|
raise ValueError("class-name not supported "
|
||||||
"for precompiled kernels")
|
"for precompiled kernels")
|
||||||
if is_elf:
|
if is_elf:
|
||||||
return ELFRunner(managers, file=args.file)
|
return ELFRunner(managers, file=args.file)
|
||||||
|
@ -175,11 +175,11 @@ def _build_experiment(device_mgr, dataset_mgr, args):
|
||||||
file = getattr(module, "__file__")
|
file = getattr(module, "__file__")
|
||||||
expid = {
|
expid = {
|
||||||
"file": file,
|
"file": file,
|
||||||
"experiment": args.experiment,
|
"class_name": args.class_name,
|
||||||
"arguments": arguments
|
"arguments": arguments
|
||||||
}
|
}
|
||||||
device_mgr.virtual_devices["scheduler"].expid = expid
|
device_mgr.virtual_devices["scheduler"].expid = expid
|
||||||
return get_experiment(module, args.experiment)(managers)
|
return get_experiment(module, args.class_name)(managers)
|
||||||
|
|
||||||
|
|
||||||
def run(with_file=False):
|
def run(with_file=False):
|
||||||
|
|
|
@ -28,7 +28,7 @@ class TestCompile(ExperimentCase):
|
||||||
with tempfile.TemporaryDirectory() as tmp:
|
with tempfile.TemporaryDirectory() as tmp:
|
||||||
db_path = os.path.join(artiq_root, "device_db.py")
|
db_path = os.path.join(artiq_root, "device_db.py")
|
||||||
subprocess.call([sys.executable, "-m", "artiq.frontend.artiq_compile", "--device-db", db_path,
|
subprocess.call([sys.executable, "-m", "artiq.frontend.artiq_compile", "--device-db", db_path,
|
||||||
"-e", "CheckLog", "-o", os.path.join(tmp, "check_log.elf"), __file__])
|
"-c", "CheckLog", "-o", os.path.join(tmp, "check_log.elf"), __file__])
|
||||||
subprocess.call([sys.executable, "-m", "artiq.frontend.artiq_run", "--device-db", db_path,
|
subprocess.call([sys.executable, "-m", "artiq.frontend.artiq_run", "--device-db", db_path,
|
||||||
os.path.join(tmp, "check_log.elf")])
|
os.path.join(tmp, "check_log.elf")])
|
||||||
log = mgmt.get_log()
|
log = mgmt.get_log()
|
||||||
|
|
|
@ -93,9 +93,9 @@ def file_import(filename, prefix="file_import_"):
|
||||||
return module
|
return module
|
||||||
|
|
||||||
|
|
||||||
def get_experiment(module, experiment=None):
|
def get_experiment(module, class_name=None):
|
||||||
if experiment:
|
if class_name:
|
||||||
return getattr(module, experiment)
|
return getattr(module, class_name)
|
||||||
|
|
||||||
exps = [(k, v) for k, v in module.__dict__.items()
|
exps = [(k, v) for k, v in module.__dict__.items()
|
||||||
if k[0] != "_" and is_experiment(v)]
|
if k[0] != "_" and is_experiment(v)]
|
||||||
|
|
Loading…
Reference in New Issue