def test_hxtool_config_flash(tmpdir, kill_sims): del kill_sims conf_file = tmpdir.mkdir("config_dump").join("config.dat") with open(conf_file, "wb") as f: f.write(b"\xff" * (1 << 15)) args = ["--simulator", "-t", "1", "config", "-f", str(conf_file)] ret = main(args) assert ret != 0, "hxtool --simulator -t 1 config --flash fails" args = ["--simulator", "-t", "0", "config", "-f", str(conf_file)] ret = main(args) assert ret == 0, "hxtool --simulator -t 0 config --flash returns 0"
def test_hxtool_config_dump(tmpdir, kill_sims): del kill_sims conf_file = tmpdir.mkdir("config_dump").join("config.dat") args = ["--simulator", "-t", "1", "config", "-d", str(conf_file)] ret = main(args) assert ret != 0, "hxtool --simulator -t 1 config --dump fails" args = ["--simulator", "-t", "0", "config", "-d", str(conf_file)] ret = main(args) assert ret == 0, "hxtool --simulator -t 0 config --dump returns 0" with open(conf_file, mode="rb") as f: config = f.read() assert len(config) == 1 << 15
def test_hxtool_id(capsys, kill_sims): del kill_sims args = ["--simulator", "-t", "0", "id"] ret = main(args) assert ret == 0, "hxtool --simulator -t 0 id returns 0" outerr = capsys.readouterr() assert "CP mode" in outerr.err assert "23.42" in outerr.err assert "MMSI" in outerr.out assert "ATIS" in outerr.out args = ["--simulator", "-t", "1", "id"] ret = main(args) assert ret != 0, "hxtool --simulator -t 1 id fails" outerr = capsys.readouterr() assert "not in CP mode" in outerr.err
def test_hxtool_atis_mmsi(capsys, kill_sims): del kill_sims args = [ "--debug", "--simulator", "-t", "0", "id", "--mmsi", "123456789", "--atis", "9123456789", "--reset" ] ret = main(args) assert ret == 0, "hxtool atis/mmsi writing and reset returns 0" outerr = capsys.readouterr() assert """CP simulator processing message b'#CEPWR\\t00B0\\t06\\tFFFFFFFFFF00\\t04\\r\\n'""" in outerr.err assert """CP simulator processing message b'#CEPWR\\t00B6\\t06\\tFFFFFFFFFF00\\t02\\r\\n'""" in outerr.err assert """CP simulator processing message b'#CEPWR\\t00B6\\t06\\t912345678901\\t0B\\r\\n'""" in outerr.err assert """CP simulator processing message b'#CEPWR\\t00B0\\t06\\t123456789002\\t07\\r\\n'""" in outerr.err
def test_hxtool_info(capsys, kill_sims): del kill_sims args = ["--simulator", "-t", "0", "info"] ret = main(args) assert ret == 0, "hxtool --simulator -t 0 info returns 0" outerr = capsys.readouterr() assert "CP mode" in outerr.err assert HXSim.handle in outerr.out assert HXSim.brand in outerr.out assert HXSim.model in outerr.out assert "23.42" in outerr.out assert "MMSI" in outerr.out assert "ATIS" in outerr.out args = ["--simulator", "-t", "1", "info"] ret = main(args) assert ret == 0, "hxtool --simulator -t 1 info returns 0" outerr = capsys.readouterr() assert "NMEA mode" in outerr.err assert HXSim.handle in outerr.out assert HXSim.brand in outerr.out assert HXSim.model in outerr.out
def test_hxtool_devices(capsys, kill_sims): del kill_sims args = ["--simulator", "devices"] ret = main(args) assert ret == 0, "hxtool --simulator devices returns 0" outerr = capsys.readouterr() out = outerr.out.strip("\n").split("\n") assert len(out) >= 2, "Two simulators detected" assert out[0].startswith("[0]") assert out[1].startswith("[1]") cp_sim = out[0].split("\t") nmea_sim = out[1].split("\t") assert "CP mode" in cp_sim assert HXSim.brand in cp_sim assert HXSim.model in cp_sim assert "NMEA mode" in nmea_sim assert HXSim.brand in nmea_sim assert HXSim.model in nmea_sim