Return to flock_variation.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Test flock() function: Variations 3: --FILE-- 4: <?php 5: /* 6: Prototype: bool flock(resource $handle, int $operation [, int &$wouldblock]); 7: Description: PHP supports a portable way of locking complete files 8: in an advisory way 9: */ 10: 11: echo "*** Testing flock() fun with the various operation and 12: wouldblock values ***\n"; 13: $file = dirname(__FILE__)."/flock.tmp"; 14: $fp = fopen($file, "w"); 15: 16: /* array of operatons */ 17: $operations = array( 18: LOCK_SH, 19: LOCK_EX, 20: LOCK_SH|LOCK_NB, 21: LOCK_EX|LOCK_NB, 22: LOCK_SH|LOCK_EX, 23: LOCK_UN, 24: 1, 25: 2, 26: 2.234, 27: TRUE 28: ); 29: 30: /* array of wouldblocks */ 31: $wouldblocks = array( 32: 0, 33: 1, 34: 2, 35: 1.234, 36: TRUE, 37: FALSE, 38: NULL, 39: array(1,2,3), 40: array(), 41: "string", 42: "", 43: /* binary input */ 44: b"string", 45: b"", 46: "\0" 47: ); 48: 49: $i = 0; 50: foreach($operations as $operation) { 51: echo "--- Outer iteration $i ---\n"; 52: var_dump(flock($fp, $operation)); 53: $j = 0; 54: foreach($wouldblocks as $wouldblock) { 55: echo "-- Inner iteration $j in $i --\n"; 56: var_dump(flock($fp, $operation, $wouldblock)); 57: $j++; 58: } 59: $i++; 60: } 61: 62: fclose($fp); 63: @unlink($file); 64: 65: echo "\n*** Done ***\n"; 66: ?> 67: --EXPECTF-- 68: *** Testing flock() fun with the various operation and 69: wouldblock values *** 70: --- Outer iteration 0 --- 71: bool(true) 72: -- Inner iteration 0 in 0 -- 73: bool(true) 74: -- Inner iteration 1 in 0 -- 75: bool(true) 76: -- Inner iteration 2 in 0 -- 77: bool(true) 78: -- Inner iteration 3 in 0 -- 79: bool(true) 80: -- Inner iteration 4 in 0 -- 81: bool(true) 82: -- Inner iteration 5 in 0 -- 83: bool(true) 84: -- Inner iteration 6 in 0 -- 85: bool(true) 86: -- Inner iteration 7 in 0 -- 87: bool(true) 88: -- Inner iteration 8 in 0 -- 89: bool(true) 90: -- Inner iteration 9 in 0 -- 91: bool(true) 92: -- Inner iteration 10 in 0 -- 93: bool(true) 94: -- Inner iteration 11 in 0 -- 95: bool(true) 96: -- Inner iteration 12 in 0 -- 97: bool(true) 98: -- Inner iteration 13 in 0 -- 99: bool(true) 100: --- Outer iteration 1 --- 101: bool(true) 102: -- Inner iteration 0 in 1 -- 103: bool(true) 104: -- Inner iteration 1 in 1 -- 105: bool(true) 106: -- Inner iteration 2 in 1 -- 107: bool(true) 108: -- Inner iteration 3 in 1 -- 109: bool(true) 110: -- Inner iteration 4 in 1 -- 111: bool(true) 112: -- Inner iteration 5 in 1 -- 113: bool(true) 114: -- Inner iteration 6 in 1 -- 115: bool(true) 116: -- Inner iteration 7 in 1 -- 117: bool(true) 118: -- Inner iteration 8 in 1 -- 119: bool(true) 120: -- Inner iteration 9 in 1 -- 121: bool(true) 122: -- Inner iteration 10 in 1 -- 123: bool(true) 124: -- Inner iteration 11 in 1 -- 125: bool(true) 126: -- Inner iteration 12 in 1 -- 127: bool(true) 128: -- Inner iteration 13 in 1 -- 129: bool(true) 130: --- Outer iteration 2 --- 131: bool(true) 132: -- Inner iteration 0 in 2 -- 133: bool(true) 134: -- Inner iteration 1 in 2 -- 135: bool(true) 136: -- Inner iteration 2 in 2 -- 137: bool(true) 138: -- Inner iteration 3 in 2 -- 139: bool(true) 140: -- Inner iteration 4 in 2 -- 141: bool(true) 142: -- Inner iteration 5 in 2 -- 143: bool(true) 144: -- Inner iteration 6 in 2 -- 145: bool(true) 146: -- Inner iteration 7 in 2 -- 147: bool(true) 148: -- Inner iteration 8 in 2 -- 149: bool(true) 150: -- Inner iteration 9 in 2 -- 151: bool(true) 152: -- Inner iteration 10 in 2 -- 153: bool(true) 154: -- Inner iteration 11 in 2 -- 155: bool(true) 156: -- Inner iteration 12 in 2 -- 157: bool(true) 158: -- Inner iteration 13 in 2 -- 159: bool(true) 160: --- Outer iteration 3 --- 161: bool(true) 162: -- Inner iteration 0 in 3 -- 163: bool(true) 164: -- Inner iteration 1 in 3 -- 165: bool(true) 166: -- Inner iteration 2 in 3 -- 167: bool(true) 168: -- Inner iteration 3 in 3 -- 169: bool(true) 170: -- Inner iteration 4 in 3 -- 171: bool(true) 172: -- Inner iteration 5 in 3 -- 173: bool(true) 174: -- Inner iteration 6 in 3 -- 175: bool(true) 176: -- Inner iteration 7 in 3 -- 177: bool(true) 178: -- Inner iteration 8 in 3 -- 179: bool(true) 180: -- Inner iteration 9 in 3 -- 181: bool(true) 182: -- Inner iteration 10 in 3 -- 183: bool(true) 184: -- Inner iteration 11 in 3 -- 185: bool(true) 186: -- Inner iteration 12 in 3 -- 187: bool(true) 188: -- Inner iteration 13 in 3 -- 189: bool(true) 190: --- Outer iteration 4 --- 191: bool(true) 192: -- Inner iteration 0 in 4 -- 193: bool(true) 194: -- Inner iteration 1 in 4 -- 195: bool(true) 196: -- Inner iteration 2 in 4 -- 197: bool(true) 198: -- Inner iteration 3 in 4 -- 199: bool(true) 200: -- Inner iteration 4 in 4 -- 201: bool(true) 202: -- Inner iteration 5 in 4 -- 203: bool(true) 204: -- Inner iteration 6 in 4 -- 205: bool(true) 206: -- Inner iteration 7 in 4 -- 207: bool(true) 208: -- Inner iteration 8 in 4 -- 209: bool(true) 210: -- Inner iteration 9 in 4 -- 211: bool(true) 212: -- Inner iteration 10 in 4 -- 213: bool(true) 214: -- Inner iteration 11 in 4 -- 215: bool(true) 216: -- Inner iteration 12 in 4 -- 217: bool(true) 218: -- Inner iteration 13 in 4 -- 219: bool(true) 220: --- Outer iteration 5 --- 221: bool(true) 222: -- Inner iteration 0 in 5 -- 223: bool(true) 224: -- Inner iteration 1 in 5 -- 225: bool(true) 226: -- Inner iteration 2 in 5 -- 227: bool(true) 228: -- Inner iteration 3 in 5 -- 229: bool(true) 230: -- Inner iteration 4 in 5 -- 231: bool(true) 232: -- Inner iteration 5 in 5 -- 233: bool(true) 234: -- Inner iteration 6 in 5 -- 235: bool(true) 236: -- Inner iteration 7 in 5 -- 237: bool(true) 238: -- Inner iteration 8 in 5 -- 239: bool(true) 240: -- Inner iteration 9 in 5 -- 241: bool(true) 242: -- Inner iteration 10 in 5 -- 243: bool(true) 244: -- Inner iteration 11 in 5 -- 245: bool(true) 246: -- Inner iteration 12 in 5 -- 247: bool(true) 248: -- Inner iteration 13 in 5 -- 249: bool(true) 250: --- Outer iteration 6 --- 251: bool(true) 252: -- Inner iteration 0 in 6 -- 253: bool(true) 254: -- Inner iteration 1 in 6 -- 255: bool(true) 256: -- Inner iteration 2 in 6 -- 257: bool(true) 258: -- Inner iteration 3 in 6 -- 259: bool(true) 260: -- Inner iteration 4 in 6 -- 261: bool(true) 262: -- Inner iteration 5 in 6 -- 263: bool(true) 264: -- Inner iteration 6 in 6 -- 265: bool(true) 266: -- Inner iteration 7 in 6 -- 267: bool(true) 268: -- Inner iteration 8 in 6 -- 269: bool(true) 270: -- Inner iteration 9 in 6 -- 271: bool(true) 272: -- Inner iteration 10 in 6 -- 273: bool(true) 274: -- Inner iteration 11 in 6 -- 275: bool(true) 276: -- Inner iteration 12 in 6 -- 277: bool(true) 278: -- Inner iteration 13 in 6 -- 279: bool(true) 280: --- Outer iteration 7 --- 281: bool(true) 282: -- Inner iteration 0 in 7 -- 283: bool(true) 284: -- Inner iteration 1 in 7 -- 285: bool(true) 286: -- Inner iteration 2 in 7 -- 287: bool(true) 288: -- Inner iteration 3 in 7 -- 289: bool(true) 290: -- Inner iteration 4 in 7 -- 291: bool(true) 292: -- Inner iteration 5 in 7 -- 293: bool(true) 294: -- Inner iteration 6 in 7 -- 295: bool(true) 296: -- Inner iteration 7 in 7 -- 297: bool(true) 298: -- Inner iteration 8 in 7 -- 299: bool(true) 300: -- Inner iteration 9 in 7 -- 301: bool(true) 302: -- Inner iteration 10 in 7 -- 303: bool(true) 304: -- Inner iteration 11 in 7 -- 305: bool(true) 306: -- Inner iteration 12 in 7 -- 307: bool(true) 308: -- Inner iteration 13 in 7 -- 309: bool(true) 310: --- Outer iteration 8 --- 311: bool(true) 312: -- Inner iteration 0 in 8 -- 313: bool(true) 314: -- Inner iteration 1 in 8 -- 315: bool(true) 316: -- Inner iteration 2 in 8 -- 317: bool(true) 318: -- Inner iteration 3 in 8 -- 319: bool(true) 320: -- Inner iteration 4 in 8 -- 321: bool(true) 322: -- Inner iteration 5 in 8 -- 323: bool(true) 324: -- Inner iteration 6 in 8 -- 325: bool(true) 326: -- Inner iteration 7 in 8 -- 327: bool(true) 328: -- Inner iteration 8 in 8 -- 329: bool(true) 330: -- Inner iteration 9 in 8 -- 331: bool(true) 332: -- Inner iteration 10 in 8 -- 333: bool(true) 334: -- Inner iteration 11 in 8 -- 335: bool(true) 336: -- Inner iteration 12 in 8 -- 337: bool(true) 338: -- Inner iteration 13 in 8 -- 339: bool(true) 340: --- Outer iteration 9 --- 341: bool(true) 342: -- Inner iteration 0 in 9 -- 343: bool(true) 344: -- Inner iteration 1 in 9 -- 345: bool(true) 346: -- Inner iteration 2 in 9 -- 347: bool(true) 348: -- Inner iteration 3 in 9 -- 349: bool(true) 350: -- Inner iteration 4 in 9 -- 351: bool(true) 352: -- Inner iteration 5 in 9 -- 353: bool(true) 354: -- Inner iteration 6 in 9 -- 355: bool(true) 356: -- Inner iteration 7 in 9 -- 357: bool(true) 358: -- Inner iteration 8 in 9 -- 359: bool(true) 360: -- Inner iteration 9 in 9 -- 361: bool(true) 362: -- Inner iteration 10 in 9 -- 363: bool(true) 364: -- Inner iteration 11 in 9 -- 365: bool(true) 366: -- Inner iteration 12 in 9 -- 367: bool(true) 368: -- Inner iteration 13 in 9 -- 369: bool(true) 370: 371: *** Done ***