Skip to content
Snippets Groups Projects
Verified Commit 48b83935 authored by Anton Tetov Johansson's avatar Anton Tetov Johansson
Browse files

always use " not \' also integration test

parent 1ade4540
No related branches found
No related tags found
No related merge requests found
Pipeline #1946 passed
import pytest
def pytest_addoption(parser):
parser.addoption(
"--run_integration", action="store_true", default=False, help="run slow tests"
)
def pytest_configure(config):
config.addinivalue_line("markers", "integration: mark test as integration tests")
def pytest_collection_modifyitems(config, items):
if config.getoption("--run_integration"):
# --run_integration given in cli: do not skip
return
skip_integration = pytest.mark.skip(reason="need --run_integration option to run")
for item in items:
if "integration" in item.keywords:
item.add_marker(skip_integration)
import re
import socket
import pytest
from ur_py_ctl import URSocketClient, socket_close, socket_open, socket_send_string
UR_HOSTNAME = "marius.d.control.lth.se"
UR_PORT = 30002
SERVER_ADDRESS = f"{socket.gethostname()}.control.lth.se"
SERVER_PORT = 30003
@pytest.mark.integration
def test_get_tcp():
socket_open_str = socket_open(f'"{SERVER_ADDRESS}"', SERVER_PORT)
script = f"""\
def program():
pose = get_actual_tcp_pose()
{socket_open_str}
{socket_send_string("pose")}
{socket_close()}
end
program()
"""
with URSocketClient(
UR_HOSTNAME,
UR_PORT,
recv_socket_hostname=SERVER_ADDRESS,
recv_socket_port=SERVER_PORT,
) as client:
resp = client.send_script(script, await_response=True)
assert re.match(r"p\[[0-9\.,-]+\]", resp)
......@@ -55,16 +55,16 @@ def kwargs_input_output():
def test__quote_string_if_needed():
# no added quotes needed
assert (_quote_string_if_needed("'String'")) == "'String'"
# add quotes because only singlequotes
assert (_quote_string_if_needed("'String'")) == "\"'String'\""
# add quotes
assert (_quote_string_if_needed("String")) == "'String'"
assert (_quote_string_if_needed("String")) == '"String"'
# already quoted but with "" instead of ''
assert (_quote_string_if_needed('"String"')) == '"String"'
# unbalanced
assert (_quote_string_if_needed('"String')) == "'\"String'"
assert (_quote_string_if_needed('"String')) == '""String"'
# different quote marks
assert (_quote_string_if_needed("'String\"")) == "''String\"'"
assert (_quote_string_if_needed("'String\"")) == '"\'String""'
def test__get_func():
......@@ -106,23 +106,23 @@ def test_move_to_conf_kwargs(conf_list, conf_str, kwargs_input_output):
def test_socket_open():
ret_val = socket_open("192.168.1.2", 3003)
assert ret_val == "socket_open('192.168.1.2', 3003)"
assert ret_val == "socket_open(192.168.1.2, 3003)"
ret_val = socket_open("'192.168.1.2'", 3003, socket_name="socket_1")
assert ret_val == "socket_open('192.168.1.2', 3003, socket_name='socket_1')"
ret_val = socket_open('"192.168.1.2"', 3003, socket_name='"socket_1"')
assert ret_val == 'socket_open("192.168.1.2", 3003, socket_name="socket_1")'
def test_socket_close():
assert socket_close() == "socket_close()"
assert (
socket_close(socket_name="socket_other")
== "socket_close(socket_name='socket_other')"
socket_close(socket_name='"socket_other"')
== 'socket_close(socket_name="socket_other")'
)
def test_socket_send_string():
assert socket_send_string("'c'") == "socket_send_string('c')"
assert socket_send_string('"c"') == 'socket_send_string("c")'
assert (
socket_send_string("pose", socket_name="socket_other")
== "socket_send_string(pose, socket_name='socket_other')"
== "socket_send_string(pose, socket_name=socket_other)"
)
......@@ -10,12 +10,11 @@ def _quote_string_if_needed(string):
No smart parsing or tokenizing, only checks the start and end of string.
"""
if string[0] in ('"', "'"):
if string[-1] == string[0]:
if string[0] == '"' and string[-1] == '"':
# already quoted
return string
return "'" + string + "'"
return '"' + string + '"'
def _get_func(
......@@ -250,20 +249,16 @@ def sleep(seconds: int) -> str:
def socket_open(address: str, port: int, socket_name=None):
urscript_kwargs = (
f"socket_name={_quote_string_if_needed(socket_name)}" if socket_name else None
)
urscript_kwargs = f"socket_name={socket_name}" if socket_name else None
return _get_func(
"socket_open",
urscript_args=f"{_quote_string_if_needed(address)}, {port}",
urscript_args=f"{address}, {port}",
urscript_kwargs=urscript_kwargs,
)
def socket_close(socket_name=None):
urscript_kwargs = (
f"socket_name={_quote_string_if_needed(socket_name)}" if socket_name else None
)
urscript_kwargs = f"socket_name={socket_name}" if socket_name else None
return _get_func(
"socket_close",
urscript_kwargs=urscript_kwargs,
......@@ -271,9 +266,7 @@ def socket_close(socket_name=None):
def socket_send_string(string_or_var_name: str, socket_name=None):
urscript_kwargs = (
f"socket_name={_quote_string_if_needed(socket_name)}" if socket_name else None
)
urscript_kwargs = f"socket_name={socket_name}" if socket_name else None
return _get_func(
"socket_send_string",
urscript_args=string_or_var_name,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment