def test_cmdlineproc_test12():
    """Test for bogus command-line flags."""

    parameters = {
        "debug": False,
        "disconnect": False,
        "executable": "",
        "executableargs": "",
        "hosts": "",
        "job": "",
        "jobname": "",
        "log": "",
        "recover": "",
        "resource": "",
        "replicates": "",
        "verbose": False
    }

    commandlineargs = [
        "--hosts", "hosts.file", "--bogus", "--jobname", "test",
        "--replicates", "1000", "--disconnect", "pmemd.MPI", "-O", "-i",
        "ex.in", "-c", "ex.min", "-p", "ex.top", "-o", "ex.out"
    ]

    with pytest.raises(exceptions.CommandlineargsError):

        _commandlineproc(ALLLONGBOWARGS, commandlineargs, parameters)
def test_cmdlineproc_test2():
    """Test a single dashed longbow arg."""

    parameters = {
        "debug": False,
        "disconnect": False,
        "executable": "",
        "executableargs": "",
        "hosts": "",
        "job": "",
        "jobname": "",
        "log": "",
        "recover": "",
        "resource": "",
        "replicates": "",
        "verbose": False
    }

    commandlineargs = ["-about"]

    longbowargs = _commandlineproc(ALLLONGBOWARGS, commandlineargs, parameters)

    assert parameters["executable"] == ""
    assert parameters["executableargs"] == ""
    assert longbowargs == ["-about"]
def test_cmdlineproc_test1():
    """
    Test that if there is nothing on the command-line that nothing happens.
    """

    parameters = {
        "debug": False,
        "disconnect": False,
        "executable": "",
        "executableargs": "",
        "hosts": "",
        "job": "",
        "jobname": "",
        "log": "",
        "recover": "",
        "resource": "",
        "replicates": "",
        "verbose": False
    }

    commandlineargs = []

    longbowargs = _commandlineproc(ALLLONGBOWARGS, commandlineargs, parameters)

    assert parameters["executable"] == ""
    assert parameters["executableargs"] == ""
    assert longbowargs == []
def test_cmdlineproc_test11():
    """Test unknown executable without Longbow args and with exec args."""

    parameters = {
        "debug": False,
        "disconnect": False,
        "executable": "",
        "executableargs": "",
        "hosts": "",
        "job": "",
        "jobname": "",
        "log": "",
        "recover": "",
        "resource": "",
        "replicates": "",
        "verbose": False
    }

    commandlineargs = ["test.exe", "-i", "input.file", "param1", "--someflag"]

    longbowargs = _commandlineproc(ALLLONGBOWARGS, commandlineargs, parameters)

    assert parameters["executable"] == "test.exe"
    assert parameters["executableargs"] == "-i input.file param1 --someflag"
    assert longbowargs == []
def test_cmdlineproc_test10():
    """Test unknown executable with just the executable."""

    parameters = {
        "debug": False,
        "disconnect": False,
        "executable": "",
        "executableargs": "",
        "hosts": "",
        "job": "",
        "jobname": "",
        "log": "",
        "recover": "",
        "resource": "",
        "replicates": "",
        "verbose": False
    }

    commandlineargs = ["test.exe"]

    longbowargs = _commandlineproc(ALLLONGBOWARGS, commandlineargs, parameters)

    assert parameters["executable"] == "test.exe"
    assert parameters["executableargs"] == ""
    assert longbowargs == []
def test_cmdlineproc_test9():
    """
    Test unknown executable with Longbow args and exec args, this one tests
    when longbow args ends with a param of type --flag <value>
    """

    parameters = {
        "debug": False,
        "disconnect": False,
        "executable": "",
        "executableargs": "",
        "hosts": "",
        "job": "",
        "jobname": "",
        "log": "",
        "recover": "",
        "resource": "",
        "replicates": "",
        "verbose": False
    }

    commandlineargs = [
        "--hosts", "hosts.file", "--jobname", "test", "--disconnect",
        "--replicates", "1000", "test.exe", "-i", "input.file", "param1",
        "--someflag"
    ]

    longbowargs = _commandlineproc(ALLLONGBOWARGS, commandlineargs, parameters)

    assert parameters["executable"] == "test.exe"
    assert parameters["executableargs"] == "-i input.file param1 --someflag"
    assert longbowargs == [
        "--hosts", "hosts.file", "--jobname", "test", "--disconnect",
        "--replicates", "1000"
    ]
def test_cmdlineproc_test6():
    """Test executable with Longbow args and executable args."""

    parameters = {
        "debug": False,
        "disconnect": False,
        "executable": "",
        "executableargs": "",
        "hosts": "",
        "job": "",
        "jobname": "",
        "log": "",
        "recover": "",
        "resource": "",
        "replicates": "",
        "verbose": False
    }

    commandlineargs = [
        "--hosts", "hosts.file", "--jobname", "test", "--maxtime", "01:00",
        "--replicates", "1000", "--disconnect", "pmemd.MPI", "-O", "-i",
        "ex.in", "-c", "ex.min", "-p", "ex.top", "-o", "ex.out"
    ]

    longbowargs = _commandlineproc(ALLLONGBOWARGS, commandlineargs, parameters)

    assert parameters["executable"] == "pmemd.MPI"
    assert parameters["executableargs"] == \
        "-O -i ex.in -c ex.min -p ex.top -o ex.out"
    assert longbowargs == [
        "--hosts", "hosts.file", "--jobname", "test", "--maxtime", "01:00",
        "--replicates", "1000", "--disconnect"
    ]
def test_cmdlineproc_test5():
    """Test executable with Longbow args."""

    parameters = {
        "debug": False,
        "disconnect": False,
        "executable": "",
        "executableargs": "",
        "hosts": "",
        "job": "",
        "jobname": "",
        "log": "",
        "recover": "",
        "resource": "",
        "replicates": "",
        "verbose": False
    }

    commandlineargs = [
        "--hosts", "hosts.file", "--jobname", "test", "--replicates", "1000",
        "--disconnect", "pmemd.MPI"
    ]

    longbowargs = _commandlineproc(ALLLONGBOWARGS, commandlineargs, parameters)

    assert parameters["executable"] == "pmemd.MPI"
    assert parameters["executableargs"] == ""
    assert longbowargs == [
        "--hosts", "hosts.file", "--jobname", "test", "--replicates", "1000",
        "--disconnect"
    ]