]> git.cworth.org Git - apitrace-tests/blobdiff - app_driver.py
Test trimming.
[apitrace-tests] / app_driver.py
index 33d2d5e65dccfa09326a92ecf00c232242400eca..ce3b1c43ca3dc16a7f6e041d78c2908754e04e5a 100755 (executable)
@@ -167,14 +167,29 @@ class AppDriver(Driver):
 
         p = popen(self.cmd, cwd=self.cwd)
         p.wait()
-        if p.returncode:
+        if p.returncode != 0:
             skip('application returned code %i' % p.returncode)
 
-    api_map = {
+    api_trace_map = {
         'gl': 'gl',
         'egl_gl': 'egl',
         'egl_gles1': 'egl',
         'egl_gles2': 'egl',
+        'd3d7': 'd3d7',
+        'd3d8': 'd3d8',
+        'd3d9': 'd3d9',
+        'd3d10': 'd3d10',
+        'd3d10_1': 'd3d10_1',
+        'd3d11': 'd3d11',
+        'd3d11_1': 'd3d11',
+    }
+
+    api_retrace_map = {
+        'gl': 'glretrace',
+        'egl_gl': 'eglretrace',
+        'egl_gles1': 'eglretrace',
+        'egl_gles2': 'eglretrace',
+        'd3d9': 'd3dretrace',
     }
 
     def traceApp(self):
@@ -202,7 +217,7 @@ class AppDriver(Driver):
         
         cmd = [
             options.apitrace, 'trace', 
-            '--api', self.api_map[self.api],
+            '--api', self.api_trace_map[self.api],
             '--output', self.trace_file,
             '--'
         ] + cmd
@@ -211,6 +226,8 @@ class AppDriver(Driver):
 
         p = popen(cmd, env=env, cwd=self.cwd)
         p.wait()
+        if p.returncode != 0:
+            fail('`apitrace trace` returned code %i' % p.returncode)
 
         if not os.path.exists(self.trace_file):
             fail('no trace file generated\n')
@@ -227,6 +244,9 @@ class AppDriver(Driver):
 
         self.doubleBuffer = checker.doubleBuffer
 
+        if self.api not in self.api_retrace_map:
+            return
+
         for callNo, refImageFileName in checker.images:
             self.checkImage(callNo, refImageFileName)
         for callNo, refStateFileName in checker.states:
@@ -293,6 +313,9 @@ class AppDriver(Driver):
         open(filename, 'wt').write(s)
 
     def retrace(self):
+        if self.api not in self.api_retrace_map:
+            return
+
         p = self._retrace()
         p.wait()
         if p.returncode != 0:
@@ -395,7 +418,7 @@ class AppDriver(Driver):
             pass
 
     def _retrace(self, args = None, stdout=subprocess.PIPE):
-        retrace = self.api_map[self.api] + 'retrace'
+        retrace = self.api_retrace_map[self.api]
         cmd = [get_build_program(retrace)]
         if self.doubleBuffer:
             cmd += ['-db']