File: strcmp.stp

package info (click to toggle)
systemtap 5.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 47,556 kB
  • sloc: cpp: 81,117; ansic: 54,933; xml: 49,795; exp: 43,595; sh: 11,526; python: 5,003; perl: 2,252; tcl: 1,312; makefile: 1,006; javascript: 149; lisp: 105; awk: 101; asm: 91; java: 70; sed: 16
file content (47 lines) | stat: -rw-r--r-- 1,717 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Test that string-comparison works.
# In particular, function results need to use temps.  (PR13283)

function foo() { return "foo"; }
function bar() { return "bar"; }
function yn(x) { return x ? "yes" : "no" }

probe begin {
    println("")
    printf("foo():\"%s\" bar():\"%s\"\n", foo(), bar())
    println("")

    println("foo() <  bar() ? ", yn(foo() <  bar()))
    println("foo() <= bar() ? ", yn(foo() <= bar()))
    println("foo() >  bar() ? ", yn(foo() >  bar()))
    println("foo() >= bar() ? ", yn(foo() >= bar()))
    println("foo() == bar() ? ", yn(foo() == bar()))
    println("foo() != bar() ? ", yn(foo() != bar()))
    println("")

    println("\"foo\" <  bar() ? ", yn("foo" <  bar()))
    println("\"foo\" <= bar() ? ", yn("foo" <= bar()))
    println("\"foo\" >  bar() ? ", yn("foo" >  bar()))
    println("\"foo\" >= bar() ? ", yn("foo" >= bar()))
    println("\"foo\" == bar() ? ", yn("foo" == bar()))
    println("\"foo\" != bar() ? ", yn("foo" != bar()))
    println("")

    println("foo() <  \"bar\" ? ", yn(foo() <  "bar"))
    println("foo() <= \"bar\" ? ", yn(foo() <= "bar"))
    println("foo() >  \"bar\" ? ", yn(foo() >  "bar"))
    println("foo() >= \"bar\" ? ", yn(foo() >= "bar"))
    println("foo() == \"bar\" ? ", yn(foo() == "bar"))
    println("foo() != \"bar\" ? ", yn(foo() != "bar"))
    println("")

    println("\"foo\" <  \"bar\" ? ", yn("foo" <  "bar"))
    println("\"foo\" <= \"bar\" ? ", yn("foo" <= "bar"))
    println("\"foo\" >  \"bar\" ? ", yn("foo" >  "bar"))
    println("\"foo\" >= \"bar\" ? ", yn("foo" >= "bar"))
    println("\"foo\" == \"bar\" ? ", yn("foo" == "bar"))
    println("\"foo\" != \"bar\" ? ", yn("foo" != "bar"))
    println("")

    exit()
}