Index: trunk/psLib/test/sysUtils/tst_psTrace.c
===================================================================
--- trunk/psLib/test/sysUtils/tst_psTrace.c	(revision 1742)
+++ trunk/psLib/test/sysUtils/tst_psTrace.c	(revision 1835)
@@ -33,4 +33,8 @@
                           };
 
+testDescription tests2[] = {
+                               {testTrace08, 8, "Testing ", 0, false},
+                           };
+
 int main( int argc, char* argv[] )
 {
@@ -102,4 +106,5 @@
 static int testTrace02(void)
 {
+    psTraceReset();
     psTraceSetDestination(stderr);
     psTraceSetLevel(".A.B", 2);
@@ -108,4 +113,20 @@
     psTraceSetLevel(".A.B", 10);
     psTracePrintLevels();
+
+    if (10 != psTraceGetLevel(".A.B.C")) {
+        fprintf(stderr,"ERROR: .A.B.C did not dynamically inherit a trace level (%d)\n",
+                psTraceGetLevel(".A.B.C"));
+        return 2;
+    }
+
+    if (10 != psTraceGetLevel(".A.B.C.D")) {
+        fprintf(stderr,"ERROR: .A.B.C.D did not dynamically inherit a trace level (%d)\n", psTraceGetLevel(".A.B.C.D"));
+        return 2;
+    }
+
+    if (5 != psTraceGetLevel(".A.B.C.D.E")) {
+        fprintf(stderr,"ERROR: .A.B.C.D.E did dynamically inherit a trace level (%d)\n", psTraceGetLevel(".A.B.C.D.E"));
+        return 2;
+    }
 
     return 0;
@@ -289,6 +310,8 @@
 }
 
+// Ensure that the leading dot in the component names are optional.
 static int testTrace08(void)
 {
+    psTraceReset();
     (void)psTraceSetLevel(".", 9);
 
@@ -306,4 +329,6 @@
     (void)psTraceSetLevel(".c.b", 3);
     (void)psTraceSetLevel(".c.c", 5);
+
+    psTracePrintLevels();
 
     if ((psTraceGetLevel(".")!=9) ||
@@ -318,4 +343,16 @@
             (psTraceGetLevel("c.b")!=3) ||
             (psTraceGetLevel("c.c")!=5)) {
+        printf("psTraceGetLevel(.) is %d\n", psTraceGetLevel("."));
+        printf("psTraceGetLevel(a) is %d\n", psTraceGetLevel("a"));
+        printf("psTraceGetLevel(b) is %d\n", psTraceGetLevel("b"));
+        printf("psTraceGetLevel(c) is %d\n", psTraceGetLevel("c"));
+        printf("psTraceGetLevel(a.a) is %d\n", psTraceGetLevel("a.a"));
+        printf("psTraceGetLevel(a.b) is %d\n", psTraceGetLevel("a.b"));
+        printf("psTraceGetLevel(b.a) is %d\n", psTraceGetLevel("b.a"));
+        printf("psTraceGetLevel(b.b) is %d\n", psTraceGetLevel("b.b"));
+        printf("psTraceGetLevel(c.a) is %d\n", psTraceGetLevel("c.a"));
+        printf("psTraceGetLevel(c.b) is %d\n", psTraceGetLevel("c.b"));
+        printf("psTraceGetLevel(c.c) is %d\n", psTraceGetLevel("c.c"));
+
         return 1;
     }
@@ -323,3 +360,2 @@
     return 0;
 }
-
