This file is indexed.

/var/lib/pcp/testsuite/055 is in pcp-testsuite 3.8.12ubuntu1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  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
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#! /bin/sh
# PCP QA Test No. 055
# pmie basic expression evaluation and scheduling
# for remote version using other hosts, see 360
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard filters
. ./common.product
. ./common.filter

trap "rm -f $tmp.*; exit" 0 1 2 3 15

# get standard filters
. ./common.filter

rm -f $seq.full

# here are the exercises
cat >>$tmp.config << \EOF
delta = 1 sec;

// the meaning of life, the universe and everything
sample.long.hundred - (16 * sample.float.ten + 11 * sample.double.one) / 3;

// instance domain exercises
inst_fetch1  = sample.bin;
inst_fetch2  = sample.bin #'bin-200' #'bin-400' #'bin-600' #'bin-800';
inst_neg     = -sample.bin;
inst_rate    = rate sample.bin;
inst_sum     = sum_inst sample.bin;
inst_avg     = avg_inst sample.bin;
inst_max     = max_inst sample.bin;
inst_min     = min_inst sample.bin;
inst_count   = count_inst sample.bin > 400;
inst_add1    = sample.bin + sample.bin;
inst_add2    = sample.bin + sample.longlong.million;
inst_add3    = sample.longlong.million + sample.bin;
inst_sub     = sample.bin - sample.bin;
inst_mul     = sample.bin * sample.bin;
inst_div     = sample.bin / sample.bin;
inst_eq1     = sample.bin == sample.bin;
inst_eq2     = sample.bin == sample.bin + 1;
inst_eq3     = sample.bin == 500; 
inst_neq1    = sample.bin != sample.bin + 1;
inst_neq2    = sample.bin != sample.bin;
inst_neq3    = sample.bin != 500; 
inst_gt1     = sample.bin + 1 > sample.bin;
inst_gt2     = sample.bin > sample.bin + 1;
inst_gt3     = sample.bin > 500; 
inst_lt1     = sample.bin < sample.bin + 1;
inst_lt2     = sample.bin + 1 < sample.bin;
inst_lt3     = sample.bin < 500; 
inst_geq1    = sample.bin >= sample.bin;
inst_geq2    = sample.bin >= sample.bin + 1;
inst_leq1    = sample.bin <= sample.bin;
inst_leq2    = sample.bin + 1 <= sample.bin;

// sample time domain exercises
time_fetch0  = sample.float.ten @0;
time_fetch1  = sample.float.ten @1;
time_fetch2  = sample.float.ten @2;
time_fetch01 = sample.float.ten @0..1;
time_fetch12 = sample.float.ten @1..2;
time_fetch02 = sample.float.ten @0..2;
time_sum     = sum_sample sample.float.ten @0..2;
time_avg     = avg_sample sample.float.ten @0..2;
time_max     = max_sample sample.float.ten @0..2;
time_min     = min_sample sample.float.ten @0..2;
time_count   = count_sample sample.float.ten @0..2 >= 10;
time_add1    = sample.float.ten @0 + sample.float.ten @1 + sample.float.ten @2;
time_add2    = sample.float.ten @0..1 + sample.float.ten @1..2;
time_add3    = sample.float.ten @0..2 + 1;
time_add4    = 1 + sample.float.ten @0..2;
time_gt1     = sample.float.ten @0..1 + 1 > sample.float.ten @0..1;
time_gt2     = sample.float.ten @0..1 > sample.float.ten @0..1 + 1;
time_gt3     = sample.float.ten @0..2 + 1 > sample.float.ten @0..2;
time_gt4     = sample.float.ten @0..2 > sample.float.ten @0..2 + 1;

delta = 2 sec;

// multiple domains
multi1       = sum_sample avg_inst sample.bin @0..2;
multi2       = avg_inst sum_sample sample.bin @0..2;

delta = 3 sec;

// boolean operators
arg1 = "sample.bin >= 500";
arg2 = "sample.bin <= 500";
arg3 = "sample.bin < 1000";
arg4 = "sample.bin > 1000";
bool1        = $arg1;
bool2        = $arg2;
bool_not     = ! $arg1;
bool_and     = $arg1 && $arg2;
bool_or      = $arg1 || $arg2;
bool_some1   = some_inst $arg1;
bool_some2   = some_inst $arg4;
bool_all1    = all_inst $arg3;
bool_all2    = all_inst $arg1;
bool_pcnt1   = 50 %_inst $arg1;
bool_pcnt2   = 70 %_inst $arg1;
bool_pcnt3   = 0 %_inst $arg4;
bool_pcnt4   = 100 %_inst $arg3;

delta = 4 sec;

// actions
act1         = true -> shell "echo >>/tmp/pmie.err act1 fired";
act2         = false -> shell "echo >>/tmp/pmie.err act2 fired OHH NOOOOO";
act3         = true -> shell "echo >>/tmp/pmie.err act3..." & shell "echo >>/tmp/pmie.err fired";
act4         = true -> shell "echo >>/tmp/pmie.err act 4 fired" | shell "echo >>/tmp/pmie.err OHH NOOOO";
EOF

cat $tmp.config >>$seq.full

$sudo rm -f /tmp/pmie.err
pmie -T 10 -v $tmp.config >$tmp.out 2>$tmp.err
( echo; echo "=== err ==="; cat $tmp.err ) >>$seq.full
cat $tmp.err | _show_pmie_exit
( echo; echo "=== out ==="; cat $tmp.out ) >>$seq.full
cat $tmp.out | LC_COLLATE=POSIX sort
( echo; echo "=== /tmp/pmie.err ==="; cat /tmp/pmie.err ) >>$seq.full
cat /tmp/pmie.err | LC_COLLATE=POSIX sort