1--TEST--
2Test posix_getpgid() function : variation
3--SKIPIF--
4<?php
5if((!extension_loaded("posix")) || (!function_exists("posix_getpgid"))) {
6	 print "skip - POSIX extension not loaded or posix_getpgid() does not exist";
7}
8?>
9--FILE--
10<?php
11/* Prototype  : proto int posix_getpgid(void)
12 * Description: Get the process group id of the specified process (This is not a POSIX function, but a SVR4ism, so we compile conditionally)
13 * Source code: ext/posix/posix.c
14 * Alias to functions:
15 */
16
17echo "*** Testing posix_getpgid() : usage variations ***\n";
18
19// Initialise function arguments not being substituted (if any)
20
21//get an unset variable
22$unset_var = 10;
23unset ($unset_var);
24
25//array of values to iterate over
26$values = array(
27
28      // float data
29      10.5,
30      -10.5,
31      10.1234567e10,
32      10.7654321E-10,
33      .5,
34
35      // array data
36      array(),
37      array(0),
38      array(1),
39      array(1, 2),
40      array('color' => 'red', 'item' => 'pen'),
41
42      // null data
43      NULL,
44      null,
45
46      // boolean data
47      true,
48      false,
49      TRUE,
50      FALSE,
51
52      // empty data
53      "",
54      '',
55
56      // string data
57      "string",
58      'string',
59
60      // undefined data
61      $undefined_var,
62
63      // unset data
64      $unset_var,
65
66      // object data
67      new stdclass(),
68);
69
70// loop through each element of the array for gid
71
72foreach($values as $value) {
73      echo "\nArg value $value \n";
74      $result = posix_getpgid($value);
75      if (is_int($result) || $result === false) {
76          echo "valid output\n";
77      } else {
78          var_dump($result);
79      }
80};
81
82echo "Done";
83?>
84--EXPECTF--
85*** Testing posix_getpgid() : usage variations ***
86
87Notice: Undefined variable: undefined_var in %s on line %d
88
89Notice: Undefined variable: unset_var in %s on line %d
90
91Arg value 10.5
92valid output
93
94Arg value -10.5
95valid output
96
97Arg value 101234567000
98valid output
99
100Arg value 1.07654321E-9
101valid output
102
103Arg value 0.5
104valid output
105
106Notice: Array to string conversion in %sposix_getpgid_variation.php on line %d
107
108Arg value Array
109
110Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
111valid output
112
113Notice: Array to string conversion in %sposix_getpgid_variation.php on line %d
114
115Arg value Array
116
117Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
118valid output
119
120Notice: Array to string conversion in %sposix_getpgid_variation.php on line %d
121
122Arg value Array
123
124Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
125valid output
126
127Notice: Array to string conversion in %sposix_getpgid_variation.php on line %d
128
129Arg value Array
130
131Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
132valid output
133
134Notice: Array to string conversion in %sposix_getpgid_variation.php on line %d
135
136Arg value Array
137
138Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
139valid output
140
141Arg value
142valid output
143
144Arg value
145valid output
146
147Arg value 1
148valid output
149
150Arg value
151valid output
152
153Arg value 1
154valid output
155
156Arg value
157valid output
158
159Arg value
160
161Warning: posix_getpgid() expects parameter 1 to be long, string given in %s on line %d
162valid output
163
164Arg value
165
166Warning: posix_getpgid() expects parameter 1 to be long, string given in %s on line %d
167valid output
168
169Arg value string
170
171Warning: posix_getpgid() expects parameter 1 to be long, string given in %s on line %d
172valid output
173
174Arg value string
175
176Warning: posix_getpgid() expects parameter 1 to be long, string given in %s on line %d
177valid output
178
179Arg value
180valid output
181
182Arg value
183valid output
184
185Catchable fatal error: Object of class stdClass could not be converted to string in %s on line %d
186