From 754f4e8244f277ad7769aa9ebc4ff1d8092f478e Mon Sep 17 00:00:00 2001 From: Proddy Date: Thu, 12 Jan 2023 11:33:51 +0100 Subject: [PATCH] add arguments for test runner --- scripts/run_memory_test.py | 45 ++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/scripts/run_memory_test.py b/scripts/run_memory_test.py index 5e732237d..cf979b701 100644 --- a/scripts/run_memory_test.py +++ b/scripts/run_memory_test.py @@ -2,26 +2,26 @@ import argparse import requests import time -# Setting go here -EMSESP_IP = "10.10.10.20" # IP or hostname.local of EMS-ESP -DEFAULT_TEST_NAME = "general" # default name of test -WAIT_TIME = 1 # in seconds +def run_test(ip, wait, name): -# fixed variables -INFO_URL = "http://" + EMSESP_IP + "/api/system/info" -TEST_URL = "http://" + EMSESP_IP + "/api?device=system&cmd=test&data=" -GET_HEADERS = { 'Content-Type': 'application/json'} -TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ8.eyJ1c2VybmFtZSI6ImFkbWluIiwiYWRtaW4iOnRydWUsInZlcnNpb24iOiIzLjEuMWIwIn0.qeGT53Aom4rDYeIT1Pr4BSMdeWyf4_zN9ue2c51ZnM0" -POST_HEADERS = { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + TOKEN } - -def run_test(test_name): + BASE_URL = "http://" + str(ip) + INFO_URL = BASE_URL + "/api/system/info" + TEST_URL = BASE_URL + "/api?device=system&cmd=test&data=" + name + GET_HEADERS = { 'Content-Type': 'application/json'} # example for POSTs: # BODY = json.dumps({ "value": 22.5 }) # response = requests.post(url, headers=HEADERS, data=BODY, verify=False) + # TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ8.eyJ1c2VybmFtZSI6ImFkbWluIiwiYWRtaW4iOnRydWUsInZlcnNpb24iOiIzLjEuMWIwIn0.qeGT53Aom4rDYeIT1Pr4BSMdeWyf4_zN9ue2c51ZnM0" + # POST_HEADERS = { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + TOKEN } print() - print("* Getting initial stats", end="") + print("Benchmarking EMS-ESP") + print(" Base URL: " + BASE_URL) + print(" Test Name: " + name) + print() + + print("1. Getting initial stats", end="") response = requests.get(INFO_URL, headers=GET_HEADERS, verify=False) uptime_a = response.json()['System Info']['uptime (seconds)'] freemem_a = response.json()['System Info']['free mem'] @@ -29,8 +29,8 @@ def run_test(test_name): print(" -> uptime is " + str(uptime_a) + " secs, Free mem/Max alloc is " + str(freemem_a) + "/" + str(maxalloc_a) ) # run test - print("* Running test '" + test_name + "'", end="") - response = requests.get(TEST_URL + test_name, headers=GET_HEADERS, verify=False) + print("2. Running test", end="") + response = requests.get(TEST_URL, headers=GET_HEADERS, verify=False) test_output = response.json()['message'] if (test_output != 'OK'): print(" -> Test Failed!") @@ -39,11 +39,11 @@ def run_test(test_name): print(" -> Test ran successfully, output: " + response.json()['message']) # wait 10 seconds - print("* Waiting for " + str(WAIT_TIME) + " seconds...") - time.sleep(WAIT_TIME) + print("3. Waiting for " + str(wait) + " seconds...") + time.sleep(wait) # get latest stats - print("* Getting refreshed stats", end="") + print("4. Getting refreshed stats", end="") response = requests.get(INFO_URL, headers=GET_HEADERS, verify=False) uptime_b = response.json()['System Info']['uptime (seconds)'] freemem_b = response.json()['System Info']['free mem'] @@ -60,7 +60,10 @@ def run_test(test_name): print() # main -parser = argparse.ArgumentParser() -parser.add_argument('test name', type=str, default=DEFAULT_TEST_NAME, help='Name of test to run') +parser = argparse.ArgumentParser(description="Benchmark EMS-ESP, memory profiler") +parser.add_argument("-i", "--ip", metavar="IP", type=str, default="ems-esp.local", help="IP address of EMS-ESP") +parser.add_argument("-w", "--wait", metavar="WAIT", type=int, default="10", help="time to wait between test") +parser.add_argument("-n", "--name", metavar="NAME", type=str, default="general", help="Name of test to run") args = parser.parse_args() -run_test(args.test) \ No newline at end of file +run_test(args.ip, args.wait, args.name) +