Home | History | Annotate | Download | only in ltrace.minor
      1 # This file is part of ltrace.
      2 # Copyright (C) 2012, 2013 Petr Machata, Red Hat Inc.
      3 #
      4 # This program is free software; you can redistribute it and/or
      5 # modify it under the terms of the GNU General Public License as
      6 # published by the Free Software Foundation; either version 2 of the
      7 # License, or (at your option) any later version.
      8 #
      9 # This program is distributed in the hope that it will be useful, but
     10 # WITHOUT ANY WARRANTY; without even the implied warranty of
     11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     12 # General Public License for more details.
     13 #
     14 # You should have received a copy of the GNU General Public License
     15 # along with this program; if not, write to the Free Software
     16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
     17 # 02110-1301 USA
     18 
     19 set bin1 [ltraceCompile {} [ltraceSource c {
     20     #include <unistd.h>
     21     #include <stdlib.h>
     22     int main(int argc, char ** argv) {
     23 	execl(argv[1], argv[1], NULL);
     24 	abort();
     25     }
     26 }]]
     27 
     28 set bin2 [ltraceCompile {} [ltraceSource c {
     29     #include <stdio.h>
     30     int main(void) {
     31 	return puts("Hello, World.");
     32     }
     33 }]]
     34 
     35 ltraceMatch [ltraceRun -xmain -- $bin1 $bin2] {
     36     {{^execl\(} == 1}
     37     {{^puts\(.*\) .*= 14} == 1}
     38     {{^main\(} == 2}
     39 }
     40 
     41 ltraceMatch [ltraceRun -c -- $bin1 $bin2] {
     42     {{exec} > 0}
     43 }
     44 
     45 ltraceDone
     46