Skip to content

Commit

Permalink
Address comments
Browse files Browse the repository at this point in the history
  • Loading branch information
benjeffery committed Oct 9, 2024
1 parent 19436e3 commit 06a4132
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 13 deletions.
21 changes: 11 additions & 10 deletions python/tests/test_provenance.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
try:
import resource
except ImportError:
resource = None # resource.getrusage absent on windows
resource = None # resource absent on windows


import msprime
Expand Down Expand Up @@ -221,28 +221,29 @@ def test_libraries(self):


class TestGetResources:
def test_used_resources_keys(self):
resources = provenance.get_resources(_start_time)
def test_get_resources_keys(self):
resources = provenance.get_resources(0)
assert "elapsed_time" in resources
assert "user_time" in resources
assert "sys_time" in resources
if resource is not None:
assert "max_memory" in resources

def test_used_resources_values(self):
resources = provenance.get_resources(_start_time)
def test_get_resources_values(self):
delta = 0.1
resources = provenance.get_resources(time.time() - delta)
assert isinstance(resources["elapsed_time"], float)
assert isinstance(resources["user_time"], float)
assert isinstance(resources["sys_time"], float)
assert resources["elapsed_time"] > 0.0001
assert resources["user_time"] > 0.0001
assert resources["sys_time"] > 0.0001
assert resources["elapsed_time"] >= delta
assert resources["user_time"] > 0
assert resources["sys_time"] > 0
if resource is not None:
assert isinstance(resources["max_memory"], int)
assert resources["max_memory"] > 1024

def test_used_resources_platform(self):
resources = provenance.get_resources(_start_time)
def test_get_resources_platform(self):
resources = provenance.get_resources(0)
if sys.platform != "darwin" and resource is not None:
assert resources["max_memory"] % 1024 == 0

Expand Down
5 changes: 2 additions & 3 deletions python/tskit/provenance.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,10 @@ def get_resources(start_time):
"sys_time": times.system + times.children_system,
}
if resource is not None:
# Don't report max memory on Windows. We could do this using the psutil lib, via
# psutil.Process(os.getpid()).get_ext_memory_info().peak_wset if demand exists
# Don't report max memory on Windows, we would need an external dep like psutil
ret["max_memory"] = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
if sys.platform != "darwin":
ret["max_memory"] *= 1024 # Linux, freeBSD et al reports in KB, not bytes
ret["max_memory"] *= 1024 # Linux, freeBSD et al reports in KiB, not bytes

return ret

Expand Down

0 comments on commit 06a4132

Please sign in to comment.