diff --git a/client/site_tests/graphics_GLBench/graphics_GLBench.py b/client/site_tests/graphics_GLBench/graphics_GLBench.py
index c71f0a1..33c7be6 100644
--- a/client/site_tests/graphics_GLBench/graphics_GLBench.py
+++ b/client/site_tests/graphics_GLBench/graphics_GLBench.py
@@ -12,7 +12,7 @@
 from autotest_lib.client.cros.graphics import graphics_utils
 
 
-class graphics_GLBench(test.test):
+class graphics_GLBench(graphics_utils.GraphicsTest):
   """Run glbench, a benchmark that times graphics intensive activities."""
   version = 1
   preserve_srcdir = True
@@ -49,13 +49,11 @@
       '1280x768_fps': True
   }
 
-  GSC = None
-
   def setup(self):
     self.job.setup_dep(['glbench'])
 
   def initialize(self):
-    self.GSC = graphics_utils.GraphicsStateChecker()
+    super(graphics_GLBench, self).initialize()
     # If UI is running, we must stop it and restore later.
     self._services = service_stopper.ServiceStopper(['ui'])
     self._services.stop_services()
@@ -63,8 +61,7 @@
   def cleanup(self):
     if self._services:
       self._services.restore_services()
-    if self.GSC:
-      self.GSC.finalize()
+    super(graphics_GLBench, self).cleanup()
 
   def report_temperature(self, keyname):
     """Report current max observed temperature with given keyname.
@@ -112,6 +109,7 @@
       imagenames = f.read()
       return imagenames
 
+  @graphics_utils.GraphicsTest.failure_report_decorator('graphics_GLBench')
   def run_once(self, options='', hasty=False):
     dep = 'glbench'
     dep_dir = os.path.join(self.autodir, 'deps', dep)
diff --git a/client/site_tests/graphics_GpuReset/graphics_GpuReset.py b/client/site_tests/graphics_GpuReset/graphics_GpuReset.py
index 486ea16..7e76b06 100644
--- a/client/site_tests/graphics_GpuReset/graphics_GpuReset.py
+++ b/client/site_tests/graphics_GpuReset/graphics_GpuReset.py
@@ -18,14 +18,13 @@
 # start ui
 
 
-class graphics_GpuReset(test.test):
+class graphics_GpuReset(graphics_utils.GraphicsTest):
   """
   Reset the GPU and check recovery mechanism.
   """
   version = 1
   preserve_srcdir = True
   loops = 1
-  GSC = None
 
   def setup(self):
     os.chdir(self.srcdir)
@@ -35,12 +34,12 @@
   def initialize(self):
     # GpuReset should pretty much be the only test where we don't want to raise
     # a test error when we detect a GPU hang.
-    self.GSC = graphics_utils.GraphicsStateChecker(raise_error_on_hang=False)
+    super(graphics_GpuReset, self).initialize(raise_error_on_hang=False)
 
   def cleanup(self):
-    if self.GSC:
-      self.GSC.finalize()
+    super(graphics_GpuReset, self).cleanup()
 
+  @graphics_utils.GraphicsTest.failure_report_decorator('graphics_GpuReset')
   def run_once(self, options=''):
     exefile = os.path.join(self.srcdir, 'gpureset')
     if not os.path.isfile(exefile):
diff --git a/client/site_tests/graphics_KernelMemory/graphics_KernelMemory.py b/client/site_tests/graphics_KernelMemory/graphics_KernelMemory.py
index 2ff1be3..aa4bfd9 100644
--- a/client/site_tests/graphics_KernelMemory/graphics_KernelMemory.py
+++ b/client/site_tests/graphics_KernelMemory/graphics_KernelMemory.py
@@ -7,16 +7,16 @@
 from autotest_lib.client.cros.graphics import graphics_utils
 
 
-class graphics_KernelMemory(test.test):
+class graphics_KernelMemory(graphics_utils.GraphicsTest):
     """
     Reads from sysfs to determine kernel gem objects and memory info.
     """
     version = 1
-    GSC = None
 
     def initialize(self):
-        self.GSC = graphics_utils.GraphicsStateChecker()
+        super(graphics_KernelMemory, self).initialize()
 
+    @graphics_utils.GraphicsTest.failure_report_decorator('graphics_KernelMemory')
     def run_once(self):
         # TODO(ihf): We want to give this test something well-defined to
         # measure. For now that will be the CrOS login-screen memory use.
@@ -24,8 +24,8 @@
         # still flaky. So for now we, lame as we are, just sleep a bit.
         time.sleep(10.0)
 
-        self.GSC.finalize()
+        self._GSC.finalize()
         # We should still be in the login screen and memory use > 0.
-        if self.GSC.get_memory_access_errors() > 0:
+        if self._GSC.get_memory_access_errors() > 0:
             raise error.TestFail('Failed: Detected %d errors accessing graphics'
                                  ' memory.' % self.GKM.num_errors)
diff --git a/client/site_tests/graphics_PerfControl/graphics_PerfControl.py b/client/site_tests/graphics_PerfControl/graphics_PerfControl.py
index c00cc2c..51450f1 100644
--- a/client/site_tests/graphics_PerfControl/graphics_PerfControl.py
+++ b/client/site_tests/graphics_PerfControl/graphics_PerfControl.py
@@ -8,21 +8,25 @@
 from autotest_lib.client.common_lib import error
 from autotest_lib.client.cros import perf
 from autotest_lib.client.cros import service_stopper
+from autotest_lib.client.cros.graphics import graphics_utils
 
 
-class graphics_PerfControl(test.test):
+class graphics_PerfControl(graphics_utils.GraphicsTest):
   version = 1
 
   # None-init vars used by cleanup() here, in case setup() fails
   _services = None
 
   def initialize(self):
+    super(graphics_PerfControl, self).initialize()
     self._services = service_stopper.ServiceStopper(['ui'])
 
   def cleanup(self):
     if self._services:
       self._services.restore_services()
+    super(graphics_PerfControl, self).cleanup()
 
+  @graphics_utils.GraphicsTest.failure_report_decorator('graphics_PerfControl')
   def run_once(self):
     logging.info(utils.get_board_with_frequency_and_memory())
 
diff --git a/client/site_tests/graphics_VTSwitch/graphics_VTSwitch.py b/client/site_tests/graphics_VTSwitch/graphics_VTSwitch.py
index ce4abce..861090b 100644
--- a/client/site_tests/graphics_VTSwitch/graphics_VTSwitch.py
+++ b/client/site_tests/graphics_VTSwitch/graphics_VTSwitch.py
@@ -34,17 +34,16 @@
     return round(100. * diff_bytes / os.path.getsize(file1))
 
 
-class graphics_VTSwitch(test.test):
+class graphics_VTSwitch(graphics_utils.GraphicsTest):
     """
     Verify that VT switching works.
     """
     version = 2
-    GSC = None
     _WAIT = 5
     # TODO(crosbug.com/36417): Need to handle more than one display screen.
 
     def initialize(self):
-        self.GSC = graphics_utils.GraphicsStateChecker()
+        super(graphics_VTSwitch, self).initialize()
         self._player = input_playback.InputPlayback()
         self._player.emulate(input_type='keyboard')
         self._player.find_connected_inputs()
@@ -61,6 +60,7 @@
             input_type='keyboard', filename='keyboard_ctrl+alt+f1')
         time.sleep(self._WAIT)
 
+    @graphics_utils.GraphicsTest.failure_report_decorator('graphics_VTSwitch')
     def run_once(self,
                  num_iterations=2,
                  similarity_percent_threshold=95,
@@ -202,6 +202,5 @@
         # Return to VT1 when done.  Ideally, the screen should already be in VT1
         # but the test might fail and terminate while in VT2.
         self._open_vt1()
-        if self.GSC:
-            self.GSC.finalize()
         self._player.close()
+        super(graphics_VTSwitch, self).cleanup()
diff --git a/client/site_tests/graphics_WebGLClear/graphics_WebGLClear.py b/client/site_tests/graphics_WebGLClear/graphics_WebGLClear.py
index 7807bff..fc603e0 100644
--- a/client/site_tests/graphics_WebGLClear/graphics_WebGLClear.py
+++ b/client/site_tests/graphics_WebGLClear/graphics_WebGLClear.py
@@ -26,10 +26,9 @@
 from autotest_lib.client.cros.graphics import graphics_utils
 
 
-class graphics_WebGLClear(test.test):
+class graphics_WebGLClear(graphics_utils.GraphicsTest):
     """WebGL clear graphics test."""
     version = 1
-    GSC = None
     perf_keyval = {}
     test_duration_secs = 30
 
@@ -37,12 +36,11 @@
         self.job.setup_dep(['webgl_clear'])
 
     def initialize(self):
-        self.GSC = graphics_utils.GraphicsStateChecker()
+        super(graphics_WebGLClear, self).initialize()
         self.perf_keyval = {}
 
     def cleanup(self):
-        if self.GSC:
-            self.GSC.finalize()
+        super(graphics_WebGLClear, self).cleanup()
 
     def run_clear_test(self, browser, test_url):
         """Runs the clear test from the given url.
@@ -66,6 +64,7 @@
 
         tab.Close()
 
+    @graphics_utils.GraphicsTest.failure_report_decorator('graphics_WebGLClear')
     def run_once(self, test_duration_secs=30):
         """Finds a brower with telemetry, and run the test.
 
