]> sourceware.org Git - systemtap.git/commitdiff
Fix failing uprobes.exp -p5 failures by removing trailing spaces in $$ vars.
authorMark Wielaard <mjw@redhat.com>
Mon, 24 Aug 2009 15:09:29 +0000 (17:09 +0200)
committerMark Wielaard <mjw@redhat.com>
Mon, 24 Aug 2009 15:13:17 +0000 (17:13 +0200)
* tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol_context):
  Don't add extra space at end of list, only add space between symbols.
* testsuite/systemtap.base/uprobes.exp: Use more specific expect regex.
* testsuite/systemtap.base/vars.exp: Don't just chop off last char of printf
  output string.

tapsets.cxx
testsuite/systemtap.base/uprobes.exp
testsuite/systemtap.base/vars.exp

index 76c93a98ce141d155a5f4762361b533fc5795397..878d43b45b3638ee1941a6891f53890eb6cb71ed 100644 (file)
@@ -2115,13 +2115,14 @@ dwarf_var_expanding_visitor::visit_target_symbol_context (target_symbol* e)
       else
         {
           pf->raw_components += "return";
-          pf->raw_components += "=%#x ";
+          pf->raw_components += "=%#x";
           pf->args.push_back(texp);
         }
     }
   else
     {
       // non-.return probe: support $$parms, $$vars, $$locals
+      bool first = true;
       Dwarf_Die result;
       if (dwarf_child (&scopes[0], &result) == 0)
         do
@@ -2144,6 +2145,10 @@ dwarf_var_expanding_visitor::visit_target_symbol_context (target_symbol* e)
             const char *diename = dwarf_diename (&result);
             if (! diename) continue;
 
+            if (! first)
+              pf->raw_components += " ";
+            pf->raw_components += diename;
+
             tsym->tok = e->tok;
             tsym->base_name = "$";
             tsym->base_name += diename;
@@ -2163,15 +2168,14 @@ dwarf_var_expanding_visitor::visit_target_symbol_context (target_symbol* e)
                     }
                   }
 
-                pf->raw_components += diename;
-                pf->raw_components += "=? ";
+                pf->raw_components += "=?";
               }
             else
               {
-                pf->raw_components += diename;
-                pf->raw_components += "=%#x ";
+                pf->raw_components += "=%#x";
                 pf->args.push_back(texp);
               }
+            first = false;
           }
         while (dwarf_siblingof (&result, &result) == 0);
     }
index bdd620b3ebaffcd30ecec83d8cd4dc2beddbf7ed..3b98c8b1431fc9b66352c917d2403633c0e6eac8 100644 (file)
@@ -36,8 +36,8 @@ if {! [installtest_p]} {
 spawn stap $srcdir/$subdir/uprobes.stp -w -c "./jennie 1 2 3 4"
 set ok 0
 expect {
-    -re {^process[^\r\n]*jennie[^\r\n]*main[^\r\n]*argc=0x[1-5][^\r\n]*\r\n} { incr ok; exp_continue }
-    -re {^process[^\r\n]*jennie[^\r\n]*main[^\r\n]*return=0x0[^\r\n]*\r\n} { incr ok; exp_continue }
+    -re {^process[^\r\n]+jennie[^\r\n]+main[^\r\n]+arg[cv]=0x[0-9a-f]+\ +arg[cv]=0x[0-9a-f]+\r\n} { incr ok; exp_continue }
+    -re {^process[^\r\n]+jennie[^\r\n]+main[^\r\n]+return=0x0\r\n} { incr ok; exp_continue }
     -timeout 30
     timeout { }
     eof { }
index 195abee08a43f72f9d0736c0d2f56514c35d4301..75afe9ef4765a1264ad38e87645ff2b73531a51e 100644 (file)
@@ -3,7 +3,7 @@
 set test "vars"
 
 # grab C statement that $$vars yields
-set cmd [concat stap -p3 -e {"probe kernel.statement(\"bio_copy_user@fs/bio.c+1\") \{print (\$\$vars)\}"} | grep {"printf.*="} | sed -e {"s/^.*MAXSTRINGLEN, \"//"} -e {s/.\".*$//}]
+set cmd [concat stap -p3 -e {"probe kernel.statement(\"bio_copy_user@fs/bio.c+1\") \{print (\$\$vars)\}"} | grep {"printf.*="} | sed -e {"s/^.*MAXSTRINGLEN, \"//"} -e {s/\".*$//}]
 catch {eval exec $cmd} vars
 
 # grab C statement that $$parms yields
This page took 0.046382 seconds and 5 git commands to generate.