import time
import pytest
from utils import GP, check_hdc_cmd, get_shell_result, run_command_with_timeout, load_gp
class TestPersistMode:
@pytest.mark.L0
def test_persist_hdc_mode_tcp(self):
assert check_hdc_cmd(f"shell param set persist.hdc.mode.tcp enable")
time.sleep(5)
run_command_with_timeout("hdc wait", 3)
netstat_listen = get_shell_result(f'shell "netstat -anp | grep tcp | grep hdcd"')
assert "LISTEN" in netstat_listen
assert "hdcd" in netstat_listen
assert check_hdc_cmd(f"shell param set persist.hdc.mode.tcp enable")
time.sleep(5)
run_command_with_timeout("hdc wait", 3)
netstat_listen = get_shell_result(f'shell "netstat -anp | grep tcp | grep hdcd"')
assert "LISTEN" in netstat_listen
assert "hdcd" in netstat_listen
assert check_hdc_cmd(f"shell param set persist.hdc.mode.tcp disable")
time.sleep(5)
run_command_with_timeout("hdc wait", 3)
netstat_listen = get_shell_result(f'shell "netstat -anp | grep tcp | grep hdcd"')
assert "LISTEN" not in netstat_listen
assert "hdcd" not in netstat_listen
@pytest.mark.L0
def test_persist_hdc_mode_usb(self):
assert check_hdc_cmd(f"shell param set persist.hdc.mode.usb enable")
echo_result = get_shell_result(f'shell "echo 12345"')
assert "12345" not in echo_result
time.sleep(10)
run_command_with_timeout("hdc wait", 3)
echo_result = get_shell_result(f'shell "echo 12345"')
assert "12345" in echo_result
@pytest.mark.L0
def test_persist_hdc_mode_tcp_usb(self):
assert check_hdc_cmd(f"shell param set persist.hdc.mode.tcp enable")
time.sleep(5)
run_command_with_timeout("hdc wait", 3)
assert check_hdc_cmd(f"shell param set persist.hdc.mode.usb enable")
time.sleep(10)
run_command_with_timeout("hdc wait", 3)
netstat_listen = get_shell_result(f'shell "netstat -anp | grep tcp | grep hdcd"')
assert "LISTEN" in netstat_listen
assert "hdcd" in netstat_listen
assert check_hdc_cmd(f"shell param set persist.hdc.mode.tcp disable")
time.sleep(5)
run_command_with_timeout("hdc wait", 3)
netstat_listen = get_shell_result(f'shell "netstat -anp | grep tcp | grep hdcd"')
assert "LISTEN" not in netstat_listen
assert "hdcd" not in netstat_listen
class TestTmodeCommand:
@pytest.mark.L0
def test_tmode_port(self):
assert (check_hdc_cmd("tmode port", "Set device run mode successful"))
time.sleep(3)
run_command_with_timeout(f"{GP.hdc_head} wait", 3)
time.sleep(3)
run_command_with_timeout(f"{GP.hdc_head} wait", 3)
assert (check_hdc_cmd("tmode port 12345"))
time.sleep(3)
run_command_with_timeout(f"{GP.hdc_head} wait", 3)
time.sleep(3)
run_command_with_timeout(f"{GP.hdc_head} wait", 3)
netstat_port = get_shell_result(f'shell "netstat -anp | grep 12345"')
print(netstat_port)
assert "LISTEN" in netstat_port
assert "hdcd" in netstat_port