def get_private_memory_usage(name): try: cmd = f"top -l 1 -s 0 -stats command,mem | grep {name}" output = subprocess.check_output(cmd, shell=True) except: return None rows = output.decode('utf-8').strip().split('\n') values = [ row[row.strip().rfind(' '):].strip().rstrip('+') for row in rows ] return sum(utils.mem_to_octet(val) for val in values)
def test_mem_to_octet_alphanum(): test_input = "123pipo" expected_output = utils.mem_to_octet(test_input) assert None == expected_output
def test_mem_to_octet_negative(): test_input = "-1" expected_output = utils.mem_to_octet(test_input) assert None == expected_output
def test_mem_to_octet_T(): test_input = "1T" expected_output = utils.mem_to_octet(test_input) assert 1099511627776 == expected_output
def test_mem_to_octet_empty(): test_input = "" expected_output = utils.mem_to_octet(test_input) assert None == expected_output
def test_mem_to_octet_O(): test_input = "1" expected_output = utils.mem_to_octet(test_input) assert 1 == expected_output
def test_mem_to_octet_K(): test_input = "1K" expected_output = utils.mem_to_octet(test_input) assert 1024 == expected_output
def test_mem_to_octet_M(): test_input = "1M" expected_output = utils.mem_to_octet(test_input) assert 1048576 == expected_output
def test_mem_to_octet_G(): test_input = "1G" expected_output = utils.mem_to_octet(test_input) assert 1073741824 == expected_output