Also print a stack trace upon a failed test assertion.
authorTravis Reitter <travis.reitter@collabora.co.uk>
Wed, 12 Jan 2011 23:55:57 +0000 (15:55 -0800)
committerTravis Reitter <travis.reitter@collabora.co.uk>
Thu, 13 Jan 2011 00:31:49 +0000 (16:31 -0800)
tests/lib/test-case.vala

index 0ace778..ace4c8d 100644 (file)
@@ -68,11 +68,20 @@ public abstract class Folks.TestCase : Object {
                }
 
                public void set_up (void* fixture) {
+                       GLib.set_printerr_handler ((PrintFunc) this._printerr_func_stack_trace);
                        Log.set_default_handler (this._log_func_stack_trace);
 
                        this.test_case.set_up ();
                }
 
+               private void _printerr_func_stack_trace (string? text) {
+                       if (text != null)
+                               stderr.printf (text);
+
+                       /* Print a stack trace since we've hit some major issue */
+                       GLib.on_error_stack_trace ("libtool --mode=execute gdb");
+               }
+
                private void _log_func_stack_trace (string? log_domain,
                                LogLevelFlags log_levels,
                                string message) {