mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-28 01:16:31 +00:00
Use python datetime for calculating durations, not time.time()
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import os
|
||||
import signal
|
||||
import datetime
|
||||
import time
|
||||
import renderdoc as rd
|
||||
from . import util
|
||||
@@ -69,12 +70,12 @@ class TargetControl():
|
||||
if self.control is None:
|
||||
return
|
||||
|
||||
start_time = time.time()
|
||||
start_time = datetime.datetime.now(datetime.timezone.utc)
|
||||
|
||||
while keep_running(self):
|
||||
msg: rd.TargetControlMessage = self.control.ReceiveMessage(None)
|
||||
|
||||
if time.time() - start_time > self._timeout:
|
||||
if (datetime.datetime.now(datetime.timezone.utc) - start_time).total_seconds() > self._timeout:
|
||||
log.error("Timed out")
|
||||
break
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import platform
|
||||
import subprocess
|
||||
import threading
|
||||
import queue
|
||||
import datetime
|
||||
import time
|
||||
import renderdoc as rd
|
||||
from . import util
|
||||
@@ -189,7 +190,7 @@ def fetch_tests():
|
||||
|
||||
|
||||
def run_tests(test_include: str, test_exclude: str, in_process: bool, slow_tests: bool, debugger: bool):
|
||||
start_time = time.time()
|
||||
start_time = datetime.datetime.now(datetime.timezone.utc)
|
||||
|
||||
rd.InitialiseReplay(rd.GlobalEnvironment(), [])
|
||||
|
||||
@@ -360,20 +361,16 @@ def run_tests(test_include: str, test_exclude: str, in_process: bool, slow_tests
|
||||
|
||||
log.end_test(name)
|
||||
|
||||
duration = time.time() - start_time
|
||||
duration = datetime.datetime.now(datetime.timezone.utc) - start_time
|
||||
|
||||
if len(failedcases) > 0:
|
||||
logfile = rd.GetLogFile()
|
||||
if os.path.exists(logfile):
|
||||
log.inline_file('RenderDoc log', logfile)
|
||||
|
||||
hours = int(duration / 3600)
|
||||
minutes = int(duration / 60) % 60
|
||||
seconds = round(duration % 60)
|
||||
|
||||
log.comment("total={} fail={} skip={} time={}".format(len(testcases), len(failedcases), len(skippedcases), duration))
|
||||
log.header("Tests complete summary: {} passed out of {} run from {} total in {}:{:02}:{:02}"
|
||||
.format(len(runcases)-len(failedcases), len(runcases), len(testcases), hours, minutes, seconds))
|
||||
log.comment("total={} fail={} skip={} time={}".format(len(testcases), len(failedcases), len(skippedcases), int(duration.total_seconds())))
|
||||
log.header("Tests complete summary: {} passed out of {} run from {} total in {}"
|
||||
.format(len(runcases)-len(failedcases), len(runcases), len(testcases), duration))
|
||||
if len(failedcases) > 0:
|
||||
log.print("Failed tests:")
|
||||
for testclass in failedcases:
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
from typing import List, Tuple
|
||||
import time
|
||||
import os
|
||||
|
||||
|
||||
# Not a direct test, re-used by API-specific tests
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
from typing import List, Tuple
|
||||
import time
|
||||
import os
|
||||
|
||||
# Not a real test, re-used by API-specific tests
|
||||
class Draw_Zoo(rdtest.TestCase):
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
from typing import List, Tuple
|
||||
import time
|
||||
import os
|
||||
|
||||
# Not a real test, re-used by API-specific tests
|
||||
class Mesh_Zoo():
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
from typing import List, Tuple
|
||||
import time
|
||||
import os
|
||||
|
||||
|
||||
# Not a direct test, re-used by API-specific tests
|
||||
|
||||
@@ -2,7 +2,7 @@ import os
|
||||
import traceback
|
||||
import copy
|
||||
import re
|
||||
import time
|
||||
import datetime
|
||||
import renderdoc as rd
|
||||
from . import util
|
||||
from . import analyse
|
||||
@@ -156,6 +156,9 @@ class TestCase:
|
||||
self.controller: rd.ReplayController = None
|
||||
self._variables = []
|
||||
|
||||
def get_time(self):
|
||||
return datetime.datetime.now(datetime.timezone.utc)
|
||||
|
||||
def get_ref_path(self, name: str, extra: bool = False):
|
||||
if extra:
|
||||
return util.get_data_extra_path(os.path.join(self.__class__.__name__, name))
|
||||
@@ -454,12 +457,10 @@ class TestCase:
|
||||
self.controller.Shutdown()
|
||||
|
||||
def invoketest(self, debugMode):
|
||||
start_time = time.time()
|
||||
start_time = self.get_time()
|
||||
self.run()
|
||||
duration = time.time() - start_time
|
||||
minutes = int(duration / 60) % 60
|
||||
seconds = round(duration % 60)
|
||||
log.print("Test ran in {:02}:{:02}".format(minutes, seconds))
|
||||
duration = self.get_time() - start_time
|
||||
log.print("Test ran in {}".format(duration))
|
||||
self.debugMode = debugMode
|
||||
|
||||
def get_first_draw(self):
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
from typing import List, Tuple
|
||||
import time
|
||||
import os
|
||||
|
||||
|
||||
class D3D11_Texture_Zoo(rdtest.TestCase):
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
from typing import List, Tuple
|
||||
import time
|
||||
import os
|
||||
|
||||
|
||||
class D3D12_Texture_Zoo(rdtest.TestCase):
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
from typing import List, Tuple
|
||||
import time
|
||||
import os
|
||||
|
||||
|
||||
class GL_Texture_Zoo(rdtest.TestCase):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import renderdoc as rd
|
||||
import os
|
||||
import time
|
||||
import datetime
|
||||
import rdtest
|
||||
|
||||
|
||||
@@ -15,24 +15,24 @@ class VK_Large_Descriptor_Sets(rdtest.TestCase):
|
||||
rdtest.log.print("Loading capture")
|
||||
|
||||
memory_before: int = rd.GetCurrentProcessMemoryUsage()
|
||||
start_time = time.time()
|
||||
start_time = self.get_time()
|
||||
|
||||
self.controller = rdtest.open_capture(self.capture_filename, opts=self.get_replay_options())
|
||||
|
||||
duration = time.time() - start_time
|
||||
duration = self.get_time() - start_time
|
||||
memory_after: int = rd.GetCurrentProcessMemoryUsage()
|
||||
|
||||
memory_increase = memory_after - memory_before
|
||||
|
||||
rdtest.log.print("Loaded capture in {:02} seconds, consuming {} bytes of memory".format(duration, memory_increase))
|
||||
rdtest.log.print("Loaded capture in {} seconds, consuming {} bytes of memory".format(duration, memory_increase))
|
||||
|
||||
if memory_increase > 2000*1000*1000:
|
||||
raise rdtest.TestFailureException("Memory usage is too high".format(duration))
|
||||
raise rdtest.TestFailureException("Memory increase {} is too high".format(memory_increase))
|
||||
else:
|
||||
rdtest.log.success("Memory usage is OK")
|
||||
|
||||
if rd.IsReleaseBuild():
|
||||
if duration >= 2.5:
|
||||
if duration.total_seconds() >= 2.5:
|
||||
raise rdtest.TestFailureException("Time to load is too high")
|
||||
rdtest.log.success("Time to load is OK")
|
||||
else:
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
import renderdoc as rd
|
||||
import rdtest
|
||||
from typing import List, Tuple
|
||||
import time
|
||||
import os
|
||||
|
||||
|
||||
class VK_Texture_Zoo(rdtest.TestCase):
|
||||
|
||||
Reference in New Issue
Block a user