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
106Arg value Array
107
108Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
109valid output
110
111Arg value Array
112
113Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
114valid output
115
116Arg value Array
117
118Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
119valid output
120
121Arg value Array
122
123Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
124valid output
125
126Arg value Array
127
128Warning: posix_getpgid() expects parameter 1 to be long, array given in %s on line %d
129valid output
130
131Arg value
132valid output
133
134Arg value
135valid output
136
137Arg value 1
138valid output
139
140Arg value
141valid output
142
143Arg value 1
144valid output
145
146Arg value
147valid output
148
149Arg value
150
151Warning: posix_getpgid() expects parameter 1 to be long, string given in %s on line %d
152valid output
153
154Arg value
155
156Warning: posix_getpgid() expects parameter 1 to be long, string given in %s on line %d
157valid output
158
159Arg value string
160
161Warning: posix_getpgid() expects parameter 1 to be long, string given in %s on line %d
162valid output
163
164Arg value string
165
166Warning: posix_getpgid() expects parameter 1 to be long, string given in %s on line %d
167valid output
168
169Arg value
170valid output
171
172Arg value
173valid output
174
175Catchable fatal error: Object of class stdClass could not be converted to string in %s on line %d
176