Home | History | Annotate | Download | only in webkit
      1 # Copyright 2013 the V8 project authors. All rights reserved.
      2 # Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
      3 #
      4 # Redistribution and use in source and binary forms, with or without
      5 # modification, are permitted provided that the following conditions
      6 # are met:
      7 # 1.  Redistributions of source code must retain the above copyright
      8 #     notice, this list of conditions and the following disclaimer.
      9 # 2.  Redistributions in binary form must reproduce the above copyright
     10 #     notice, this list of conditions and the following disclaimer in the
     11 #     documentation and/or other materials provided with the distribution.
     12 #
     13 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
     14 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     15 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     16 # DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
     17 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     18 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     19 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
     20 # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     21 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     22 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     23 
     24 Check that short-circuiting Branch(LogicalNot(@a)) and then failing speculation does not result in the branch being taken the wrong way.
     25 
     26 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     27 
     28 
     29 PASS foo({f:True}) is 1
     30 PASS foo({f:False}) is 0
     31 PASS bar({f:True}) is 0
     32 PASS bar({f:False}) is 1
     33 PASS foo({f:True}) is 1
     34 PASS foo({f:False}) is 0
     35 PASS bar({f:True}) is 0
     36 PASS bar({f:False}) is 1
     37 PASS foo({f:True}) is 1
     38 PASS foo({f:False}) is 0
     39 PASS bar({f:True}) is 0
     40 PASS bar({f:False}) is 1
     41 PASS foo({f:True}) is 1
     42 PASS foo({f:False}) is 0
     43 PASS bar({f:True}) is 0
     44 PASS bar({f:False}) is 1
     45 PASS foo({f:True}) is 1
     46 PASS foo({f:False}) is 0
     47 PASS bar({f:True}) is 0
     48 PASS bar({f:False}) is 1
     49 PASS foo({f:True}) is 1
     50 PASS foo({f:False}) is 0
     51 PASS bar({f:True}) is 0
     52 PASS bar({f:False}) is 1
     53 PASS foo({f:True}) is 1
     54 PASS foo({f:False}) is 0
     55 PASS bar({f:True}) is 0
     56 PASS bar({f:False}) is 1
     57 PASS foo({f:True}) is 1
     58 PASS foo({f:False}) is 0
     59 PASS bar({f:True}) is 0
     60 PASS bar({f:False}) is 1
     61 PASS foo({f:True}) is 1
     62 PASS foo({f:False}) is 0
     63 PASS bar({f:True}) is 0
     64 PASS bar({f:False}) is 1
     65 PASS foo({f:True}) is 1
     66 PASS foo({f:False}) is 0
     67 PASS bar({f:True}) is 0
     68 PASS bar({f:False}) is 1
     69 PASS foo({f:True}) is 1
     70 PASS foo({f:False}) is 0
     71 PASS bar({f:True}) is 0
     72 PASS bar({f:False}) is 1
     73 PASS foo({f:True}) is 1
     74 PASS foo({f:False}) is 0
     75 PASS bar({f:True}) is 0
     76 PASS bar({f:False}) is 1
     77 PASS foo({f:True}) is 1
     78 PASS foo({f:False}) is 0
     79 PASS bar({f:True}) is 0
     80 PASS bar({f:False}) is 1
     81 PASS foo({f:True}) is 1
     82 PASS foo({f:False}) is 0
     83 PASS bar({f:True}) is 0
     84 PASS bar({f:False}) is 1
     85 PASS foo({f:True}) is 1
     86 PASS foo({f:False}) is 0
     87 PASS bar({f:True}) is 0
     88 PASS bar({f:False}) is 1
     89 PASS foo({f:True}) is 1
     90 PASS foo({f:False}) is 0
     91 PASS bar({f:True}) is 0
     92 PASS bar({f:False}) is 1
     93 PASS foo({f:True}) is 1
     94 PASS foo({f:False}) is 0
     95 PASS bar({f:True}) is 0
     96 PASS bar({f:False}) is 1
     97 PASS foo({f:True}) is 1
     98 PASS foo({f:False}) is 0
     99 PASS bar({f:True}) is 0
    100 PASS bar({f:False}) is 1
    101 PASS foo({f:True}) is 1
    102 PASS foo({f:False}) is 0
    103 PASS bar({f:True}) is 0
    104 PASS bar({f:False}) is 1
    105 PASS foo({f:True}) is 1
    106 PASS foo({f:False}) is 0
    107 PASS bar({f:True}) is 0
    108 PASS bar({f:False}) is 1
    109 PASS foo({f:True}) is 1
    110 PASS foo({f:False}) is 0
    111 PASS bar({f:True}) is 0
    112 PASS bar({f:False}) is 1
    113 PASS foo({f:True}) is 1
    114 PASS foo({f:False}) is 0
    115 PASS bar({f:True}) is 0
    116 PASS bar({f:False}) is 1
    117 PASS foo({f:True}) is 1
    118 PASS foo({f:False}) is 0
    119 PASS bar({f:True}) is 0
    120 PASS bar({f:False}) is 1
    121 PASS foo({f:True}) is 1
    122 PASS foo({f:False}) is 0
    123 PASS bar({f:True}) is 0
    124 PASS bar({f:False}) is 1
    125 PASS foo({f:True}) is 1
    126 PASS foo({f:False}) is 0
    127 PASS bar({f:True}) is 0
    128 PASS bar({f:False}) is 1
    129 PASS foo({f:True}) is 1
    130 PASS foo({f:False}) is 0
    131 PASS bar({f:True}) is 0
    132 PASS bar({f:False}) is 1
    133 PASS foo({f:True}) is 1
    134 PASS foo({f:False}) is 0
    135 PASS bar({f:True}) is 0
    136 PASS bar({f:False}) is 1
    137 PASS foo({f:True}) is 1
    138 PASS foo({f:False}) is 0
    139 PASS bar({f:True}) is 0
    140 PASS bar({f:False}) is 1
    141 PASS foo({f:True}) is 1
    142 PASS foo({f:False}) is 0
    143 PASS bar({f:True}) is 0
    144 PASS bar({f:False}) is 1
    145 PASS foo({f:True}) is 1
    146 PASS foo({f:False}) is 0
    147 PASS bar({f:True}) is 0
    148 PASS bar({f:False}) is 1
    149 PASS foo({f:True}) is 1
    150 PASS foo({f:False}) is 0
    151 PASS bar({f:True}) is 0
    152 PASS bar({f:False}) is 1
    153 PASS foo({f:True}) is 1
    154 PASS foo({f:False}) is 0
    155 PASS bar({f:True}) is 0
    156 PASS bar({f:False}) is 1
    157 PASS foo({f:True}) is 1
    158 PASS foo({f:False}) is 0
    159 PASS bar({f:True}) is 0
    160 PASS bar({f:False}) is 1
    161 PASS foo({f:True}) is 1
    162 PASS foo({f:False}) is 0
    163 PASS bar({f:True}) is 0
    164 PASS bar({f:False}) is 1
    165 PASS foo({f:True}) is 1
    166 PASS foo({f:False}) is 0
    167 PASS bar({f:True}) is 0
    168 PASS bar({f:False}) is 1
    169 PASS foo({f:True}) is 1
    170 PASS foo({f:False}) is 0
    171 PASS bar({f:True}) is 0
    172 PASS bar({f:False}) is 1
    173 PASS foo({f:True}) is 1
    174 PASS foo({f:False}) is 0
    175 PASS bar({f:True}) is 0
    176 PASS bar({f:False}) is 1
    177 PASS foo({f:True}) is 1
    178 PASS foo({f:False}) is 0
    179 PASS bar({f:True}) is 0
    180 PASS bar({f:False}) is 1
    181 PASS foo({f:True}) is 1
    182 PASS foo({f:False}) is 0
    183 PASS bar({f:True}) is 0
    184 PASS bar({f:False}) is 1
    185 PASS foo({f:True}) is 1
    186 PASS foo({f:False}) is 0
    187 PASS bar({f:True}) is 0
    188 PASS bar({f:False}) is 1
    189 PASS foo({f:True}) is 1
    190 PASS foo({f:False}) is 0
    191 PASS bar({f:True}) is 0
    192 PASS bar({f:False}) is 1
    193 PASS foo({f:True}) is 1
    194 PASS foo({f:False}) is 0
    195 PASS bar({f:True}) is 0
    196 PASS bar({f:False}) is 1
    197 PASS foo({f:True}) is 1
    198 PASS foo({f:False}) is 0
    199 PASS bar({f:True}) is 0
    200 PASS bar({f:False}) is 1
    201 PASS foo({f:True}) is 1
    202 PASS foo({f:False}) is 0
    203 PASS bar({f:True}) is 0
    204 PASS bar({f:False}) is 1
    205 PASS foo({f:True}) is 1
    206 PASS foo({f:False}) is 0
    207 PASS bar({f:True}) is 0
    208 PASS bar({f:False}) is 1
    209 PASS foo({f:True}) is 1
    210 PASS foo({f:False}) is 0
    211 PASS bar({f:True}) is 0
    212 PASS bar({f:False}) is 1
    213 PASS foo({f:True}) is 1
    214 PASS foo({f:False}) is 0
    215 PASS bar({f:True}) is 0
    216 PASS bar({f:False}) is 1
    217 PASS foo({f:True}) is 1
    218 PASS foo({f:False}) is 0
    219 PASS bar({f:True}) is 0
    220 PASS bar({f:False}) is 1
    221 PASS foo({f:True}) is 1
    222 PASS foo({f:False}) is 0
    223 PASS bar({f:True}) is 0
    224 PASS bar({f:False}) is 1
    225 PASS foo({f:True}) is 1
    226 PASS foo({f:False}) is 0
    227 PASS bar({f:True}) is 0
    228 PASS bar({f:False}) is 1
    229 PASS foo({f:True}) is 1
    230 PASS foo({f:False}) is 0
    231 PASS bar({f:True}) is 0
    232 PASS bar({f:False}) is 1
    233 PASS foo({f:True}) is 1
    234 PASS foo({f:False}) is 0
    235 PASS bar({f:True}) is 0
    236 PASS bar({f:False}) is 1
    237 PASS foo({f:True}) is 1
    238 PASS foo({f:False}) is 0
    239 PASS bar({f:True}) is 0
    240 PASS bar({f:False}) is 1
    241 PASS foo({f:True}) is 1
    242 PASS foo({f:False}) is 0
    243 PASS bar({f:True}) is 0
    244 PASS bar({f:False}) is 1
    245 PASS foo({f:True}) is 1
    246 PASS foo({f:False}) is 0
    247 PASS bar({f:True}) is 0
    248 PASS bar({f:False}) is 1
    249 PASS foo({f:True}) is 1
    250 PASS foo({f:False}) is 0
    251 PASS bar({f:True}) is 0
    252 PASS bar({f:False}) is 1
    253 PASS foo({f:True}) is 1
    254 PASS foo({f:False}) is 0
    255 PASS bar({f:True}) is 0
    256 PASS bar({f:False}) is 1
    257 PASS foo({f:True}) is 1
    258 PASS foo({f:False}) is 0
    259 PASS bar({f:True}) is 0
    260 PASS bar({f:False}) is 1
    261 PASS foo({f:True}) is 1
    262 PASS foo({f:False}) is 0
    263 PASS bar({f:True}) is 0
    264 PASS bar({f:False}) is 1
    265 PASS foo({f:True}) is 1
    266 PASS foo({f:False}) is 0
    267 PASS bar({f:True}) is 0
    268 PASS bar({f:False}) is 1
    269 PASS foo({f:True}) is 1
    270 PASS foo({f:False}) is 0
    271 PASS bar({f:True}) is 0
    272 PASS bar({f:False}) is 1
    273 PASS foo({f:True}) is 1
    274 PASS foo({f:False}) is 0
    275 PASS bar({f:True}) is 0
    276 PASS bar({f:False}) is 1
    277 PASS foo({f:True}) is 1
    278 PASS foo({f:False}) is 0
    279 PASS bar({f:True}) is 0
    280 PASS bar({f:False}) is 1
    281 PASS foo({f:True}) is 1
    282 PASS foo({f:False}) is 0
    283 PASS bar({f:True}) is 0
    284 PASS bar({f:False}) is 1
    285 PASS foo({f:True}) is 1
    286 PASS foo({f:False}) is 0
    287 PASS bar({f:True}) is 0
    288 PASS bar({f:False}) is 1
    289 PASS foo({f:True}) is 1
    290 PASS foo({f:False}) is 0
    291 PASS bar({f:True}) is 0
    292 PASS bar({f:False}) is 1
    293 PASS foo({f:True}) is 1
    294 PASS foo({f:False}) is 0
    295 PASS bar({f:True}) is 0
    296 PASS bar({f:False}) is 1
    297 PASS foo({f:True}) is 1
    298 PASS foo({f:False}) is 0
    299 PASS bar({f:True}) is 0
    300 PASS bar({f:False}) is 1
    301 PASS foo({f:True}) is 1
    302 PASS foo({f:False}) is 0
    303 PASS bar({f:True}) is 0
    304 PASS bar({f:False}) is 1
    305 PASS foo({f:True}) is 1
    306 PASS foo({f:False}) is 0
    307 PASS bar({f:True}) is 0
    308 PASS bar({f:False}) is 1
    309 PASS foo({f:True}) is 1
    310 PASS foo({f:False}) is 0
    311 PASS bar({f:True}) is 0
    312 PASS bar({f:False}) is 1
    313 PASS foo({f:True}) is 1
    314 PASS foo({f:False}) is 0
    315 PASS bar({f:True}) is 0
    316 PASS bar({f:False}) is 1
    317 PASS foo({f:True}) is 1
    318 PASS foo({f:False}) is 0
    319 PASS bar({f:True}) is 0
    320 PASS bar({f:False}) is 1
    321 PASS foo({f:True}) is 1
    322 PASS foo({f:False}) is 0
    323 PASS bar({f:True}) is 0
    324 PASS bar({f:False}) is 1
    325 PASS foo({f:True}) is 1
    326 PASS foo({f:False}) is 0
    327 PASS bar({f:True}) is 0
    328 PASS bar({f:False}) is 1
    329 PASS foo({f:True}) is 1
    330 PASS foo({f:False}) is 0
    331 PASS bar({f:True}) is 0
    332 PASS bar({f:False}) is 1
    333 PASS foo({f:True}) is 1
    334 PASS foo({f:False}) is 0
    335 PASS bar({f:True}) is 0
    336 PASS bar({f:False}) is 1
    337 PASS foo({f:True}) is 1
    338 PASS foo({f:False}) is 0
    339 PASS bar({f:True}) is 0
    340 PASS bar({f:False}) is 1
    341 PASS foo({f:True}) is 1
    342 PASS foo({f:False}) is 0
    343 PASS bar({f:True}) is 0
    344 PASS bar({f:False}) is 1
    345 PASS foo({f:True}) is 1
    346 PASS foo({f:False}) is 0
    347 PASS bar({f:True}) is 0
    348 PASS bar({f:False}) is 1
    349 PASS foo({f:True}) is 1
    350 PASS foo({f:False}) is 0
    351 PASS bar({f:True}) is 0
    352 PASS bar({f:False}) is 1
    353 PASS foo({f:True}) is 1
    354 PASS foo({f:False}) is 0
    355 PASS bar({f:True}) is 0
    356 PASS bar({f:False}) is 1
    357 PASS foo({f:True}) is 1
    358 PASS foo({f:False}) is 0
    359 PASS bar({f:True}) is 0
    360 PASS bar({f:False}) is 1
    361 PASS foo({f:True}) is 1
    362 PASS foo({f:False}) is 0
    363 PASS bar({f:True}) is 0
    364 PASS bar({f:False}) is 1
    365 PASS foo({f:True}) is 1
    366 PASS foo({f:False}) is 0
    367 PASS bar({f:True}) is 0
    368 PASS bar({f:False}) is 1
    369 PASS foo({f:True}) is 1
    370 PASS foo({f:False}) is 0
    371 PASS bar({f:True}) is 0
    372 PASS bar({f:False}) is 1
    373 PASS foo({f:True}) is 1
    374 PASS foo({f:False}) is 0
    375 PASS bar({f:True}) is 0
    376 PASS bar({f:False}) is 1
    377 PASS foo({f:True}) is 1
    378 PASS foo({f:False}) is 0
    379 PASS bar({f:True}) is 0
    380 PASS bar({f:False}) is 1
    381 PASS foo({f:True}) is 1
    382 PASS foo({f:False}) is 0
    383 PASS bar({f:True}) is 0
    384 PASS bar({f:False}) is 1
    385 PASS foo({f:True}) is 1
    386 PASS foo({f:False}) is 0
    387 PASS bar({f:True}) is 0
    388 PASS bar({f:False}) is 1
    389 PASS foo({f:True}) is 1
    390 PASS foo({f:False}) is 0
    391 PASS bar({f:True}) is 0
    392 PASS bar({f:False}) is 1
    393 PASS foo({f:True}) is 1
    394 PASS foo({f:False}) is 0
    395 PASS bar({f:True}) is 0
    396 PASS bar({f:False}) is 1
    397 PASS foo({f:True}) is 1
    398 PASS foo({f:False}) is 0
    399 PASS bar({f:True}) is 0
    400 PASS bar({f:False}) is 1
    401 PASS foo({f:True}) is 1
    402 PASS foo({f:False}) is 0
    403 PASS bar({f:True}) is 0
    404 PASS bar({f:False}) is 1
    405 PASS foo({f:True}) is 1
    406 PASS foo({f:False}) is 0
    407 PASS bar({f:True}) is 0
    408 PASS bar({f:False}) is 1
    409 PASS foo({f:True}) is 1
    410 PASS foo({f:False}) is 0
    411 PASS bar({f:True}) is 0
    412 PASS bar({f:False}) is 1
    413 PASS foo({f:True}) is 1
    414 PASS foo({f:False}) is 0
    415 PASS bar({f:True}) is 0
    416 PASS bar({f:False}) is 1
    417 PASS foo({f:True}) is 1
    418 PASS foo({f:False}) is 0
    419 PASS bar({f:True}) is 0
    420 PASS bar({f:False}) is 1
    421 PASS foo({f:True}) is 1
    422 PASS foo({f:False}) is 0
    423 PASS bar({f:True}) is 0
    424 PASS bar({f:False}) is 1
    425 PASS foo({f:True}) is 1
    426 PASS foo({f:False}) is 0
    427 PASS bar({f:True}) is 0
    428 PASS bar({f:False}) is 1
    429 PASS foo({f:True}) is 1
    430 PASS foo({f:False}) is 0
    431 PASS bar({f:True}) is 0
    432 PASS bar({f:False}) is 1
    433 PASS foo({f:True}) is 1
    434 PASS foo({f:False}) is 0
    435 PASS bar({f:True}) is 0
    436 PASS bar({f:False}) is 1
    437 PASS foo({f:True}) is 1
    438 PASS foo({f:False}) is 0
    439 PASS bar({f:True}) is 0
    440 PASS bar({f:False}) is 1
    441 PASS foo({f:True}) is 1
    442 PASS foo({f:False}) is 0
    443 PASS bar({f:True}) is 0
    444 PASS bar({f:False}) is 1
    445 PASS foo({f:True}) is 1
    446 PASS foo({f:False}) is 0
    447 PASS bar({f:True}) is 0
    448 PASS bar({f:False}) is 1
    449 PASS foo({f:True}) is 1
    450 PASS foo({f:False}) is 0
    451 PASS bar({f:True}) is 0
    452 PASS bar({f:False}) is 1
    453 PASS foo({f:True}) is 1
    454 PASS foo({f:False}) is 0
    455 PASS bar({f:True}) is 0
    456 PASS bar({f:False}) is 1
    457 PASS foo({f:True}) is 1
    458 PASS foo({f:False}) is 0
    459 PASS bar({f:True}) is 0
    460 PASS bar({f:False}) is 1
    461 PASS foo({f:True}) is 1
    462 PASS foo({f:False}) is 0
    463 PASS bar({f:True}) is 0
    464 PASS bar({f:False}) is 1
    465 PASS foo({f:True}) is 1
    466 PASS foo({f:False}) is 0
    467 PASS bar({f:True}) is 0
    468 PASS bar({f:False}) is 1
    469 PASS foo({f:True}) is 1
    470 PASS foo({f:False}) is 0
    471 PASS bar({f:True}) is 0
    472 PASS bar({f:False}) is 1
    473 PASS foo({f:True}) is 1
    474 PASS foo({f:False}) is 0
    475 PASS bar({f:True}) is 0
    476 PASS bar({f:False}) is 1
    477 PASS foo({f:True}) is 1
    478 PASS foo({f:False}) is 0
    479 PASS bar({f:True}) is 0
    480 PASS bar({f:False}) is 1
    481 PASS foo({f:True}) is 1
    482 PASS foo({f:False}) is 0
    483 PASS bar({f:True}) is 0
    484 PASS bar({f:False}) is 1
    485 PASS foo({f:True}) is 1
    486 PASS foo({f:False}) is 0
    487 PASS bar({f:True}) is 0
    488 PASS bar({f:False}) is 1
    489 PASS foo({f:True}) is 1
    490 PASS foo({f:False}) is 0
    491 PASS bar({f:True}) is 0
    492 PASS bar({f:False}) is 1
    493 PASS foo({f:True}) is 1
    494 PASS foo({f:False}) is 0
    495 PASS bar({f:True}) is 0
    496 PASS bar({f:False}) is 1
    497 PASS foo({f:True}) is 1
    498 PASS foo({f:False}) is 0
    499 PASS bar({f:True}) is 0
    500 PASS bar({f:False}) is 1
    501 PASS foo({f:True}) is 1
    502 PASS foo({f:False}) is 0
    503 PASS bar({f:True}) is 0
    504 PASS bar({f:False}) is 1
    505 PASS foo({f:True}) is 1
    506 PASS foo({f:False}) is 0
    507 PASS bar({f:True}) is 0
    508 PASS bar({f:False}) is 1
    509 PASS foo({f:True}) is 1
    510 PASS foo({f:False}) is 0
    511 PASS bar({f:True}) is 0
    512 PASS bar({f:False}) is 1
    513 PASS foo({f:True}) is 1
    514 PASS foo({f:False}) is 0
    515 PASS bar({f:True}) is 0
    516 PASS bar({f:False}) is 1
    517 PASS foo({f:True}) is 1
    518 PASS foo({f:False}) is 0
    519 PASS bar({f:True}) is 0
    520 PASS bar({f:False}) is 1
    521 PASS foo({f:True}) is 1
    522 PASS foo({f:False}) is 0
    523 PASS bar({f:True}) is 0
    524 PASS bar({f:False}) is 1
    525 PASS foo({f:True}) is 1
    526 PASS foo({f:False}) is 0
    527 PASS bar({f:True}) is 0
    528 PASS bar({f:False}) is 1
    529 PASS foo({f:True}) is 1
    530 PASS foo({f:False}) is 0
    531 PASS bar({f:True}) is 0
    532 PASS bar({f:False}) is 1
    533 PASS foo({f:True}) is 1
    534 PASS foo({f:False}) is 0
    535 PASS bar({f:True}) is 0
    536 PASS bar({f:False}) is 1
    537 PASS foo({f:True}) is 1
    538 PASS foo({f:False}) is 0
    539 PASS bar({f:True}) is 0
    540 PASS bar({f:False}) is 1
    541 PASS foo({f:True}) is 1
    542 PASS foo({f:False}) is 0
    543 PASS bar({f:True}) is 0
    544 PASS bar({f:False}) is 1
    545 PASS foo({f:True}) is 1
    546 PASS foo({f:False}) is 0
    547 PASS bar({f:True}) is 0
    548 PASS bar({f:False}) is 1
    549 PASS foo({f:True}) is 1
    550 PASS foo({f:False}) is 0
    551 PASS bar({f:True}) is 0
    552 PASS bar({f:False}) is 1
    553 PASS foo({f:True}) is 1
    554 PASS foo({f:False}) is 0
    555 PASS bar({f:True}) is 0
    556 PASS bar({f:False}) is 1
    557 PASS foo({f:True}) is 1
    558 PASS foo({f:False}) is 0
    559 PASS bar({f:True}) is 0
    560 PASS bar({f:False}) is 1
    561 PASS foo({f:True}) is 1
    562 PASS foo({f:False}) is 0
    563 PASS bar({f:True}) is 0
    564 PASS bar({f:False}) is 1
    565 PASS foo({f:True}) is 1
    566 PASS foo({f:False}) is 0
    567 PASS bar({f:True}) is 0
    568 PASS bar({f:False}) is 1
    569 PASS foo({f:True}) is 1
    570 PASS foo({f:False}) is 0
    571 PASS bar({f:True}) is 0
    572 PASS bar({f:False}) is 1
    573 PASS foo({f:True}) is 1
    574 PASS foo({f:False}) is 0
    575 PASS bar({f:True}) is 0
    576 PASS bar({f:False}) is 1
    577 PASS foo({f:True}) is 1
    578 PASS foo({f:False}) is 0
    579 PASS bar({f:True}) is 0
    580 PASS bar({f:False}) is 1
    581 PASS foo({f:True}) is 1
    582 PASS foo({f:False}) is 0
    583 PASS bar({f:True}) is 0
    584 PASS bar({f:False}) is 1
    585 PASS foo({f:True}) is 1
    586 PASS foo({f:False}) is 0
    587 PASS bar({f:True}) is 0
    588 PASS bar({f:False}) is 1
    589 PASS foo({f:True}) is 1
    590 PASS foo({f:False}) is 0
    591 PASS bar({f:True}) is 0
    592 PASS bar({f:False}) is 1
    593 PASS foo({f:True}) is 1
    594 PASS foo({f:False}) is 0
    595 PASS bar({f:True}) is 0
    596 PASS bar({f:False}) is 1
    597 PASS foo({f:True}) is 1
    598 PASS foo({f:False}) is 0
    599 PASS bar({f:True}) is 0
    600 PASS bar({f:False}) is 1
    601 PASS foo({f:True}) is 1
    602 PASS foo({f:False}) is 0
    603 PASS bar({f:True}) is 0
    604 PASS bar({f:False}) is 1
    605 PASS foo({f:True}) is 1
    606 PASS foo({f:False}) is 0
    607 PASS bar({f:True}) is 0
    608 PASS bar({f:False}) is 1
    609 PASS foo({f:True}) is 1
    610 PASS foo({f:False}) is 0
    611 PASS bar({f:True}) is 0
    612 PASS bar({f:False}) is 1
    613 PASS foo({f:True}) is 1
    614 PASS foo({f:False}) is 0
    615 PASS bar({f:True}) is 0
    616 PASS bar({f:False}) is 1
    617 PASS foo({f:True}) is 1
    618 PASS foo({f:False}) is 0
    619 PASS bar({f:True}) is 0
    620 PASS bar({f:False}) is 1
    621 PASS foo({f:True}) is 1
    622 PASS foo({f:False}) is 0
    623 PASS bar({f:True}) is 0
    624 PASS bar({f:False}) is 1
    625 PASS foo({f:True}) is 1
    626 PASS foo({f:False}) is 0
    627 PASS bar({f:True}) is 0
    628 PASS bar({f:False}) is 1
    629 PASS foo({f:True}) is 1
    630 PASS foo({f:False}) is 0
    631 PASS bar({f:True}) is 0
    632 PASS bar({f:False}) is 1
    633 PASS foo({f:True}) is 1
    634 PASS foo({f:False}) is 0
    635 PASS bar({f:True}) is 0
    636 PASS bar({f:False}) is 1
    637 PASS foo({f:True}) is 1
    638 PASS foo({f:False}) is 0
    639 PASS bar({f:True}) is 0
    640 PASS bar({f:False}) is 1
    641 PASS foo({f:True}) is 1
    642 PASS foo({f:False}) is 0
    643 PASS bar({f:True}) is 0
    644 PASS bar({f:False}) is 1
    645 PASS foo({f:True}) is 1
    646 PASS foo({f:False}) is 0
    647 PASS bar({f:True}) is 0
    648 PASS bar({f:False}) is 1
    649 PASS foo({f:True}) is 1
    650 PASS foo({f:False}) is 0
    651 PASS bar({f:True}) is 0
    652 PASS bar({f:False}) is 1
    653 PASS foo({f:True}) is 1
    654 PASS foo({f:False}) is 0
    655 PASS bar({f:True}) is 0
    656 PASS bar({f:False}) is 1
    657 PASS foo({f:True}) is 1
    658 PASS foo({f:False}) is 0
    659 PASS bar({f:True}) is 0
    660 PASS bar({f:False}) is 1
    661 PASS foo({f:True}) is 1
    662 PASS foo({f:False}) is 0
    663 PASS bar({f:True}) is 0
    664 PASS bar({f:False}) is 1
    665 PASS foo({f:True}) is 1
    666 PASS foo({f:False}) is 0
    667 PASS bar({f:True}) is 0
    668 PASS bar({f:False}) is 1
    669 PASS foo({f:True}) is 1
    670 PASS foo({f:False}) is 0
    671 PASS bar({f:True}) is 0
    672 PASS bar({f:False}) is 1
    673 PASS foo({f:True}) is 1
    674 PASS foo({f:False}) is 0
    675 PASS bar({f:True}) is 0
    676 PASS bar({f:False}) is 1
    677 PASS foo({f:True}) is 1
    678 PASS foo({f:False}) is 0
    679 PASS bar({f:True}) is 0
    680 PASS bar({f:False}) is 1
    681 PASS foo({f:True}) is 1
    682 PASS foo({f:False}) is 0
    683 PASS bar({f:True}) is 0
    684 PASS bar({f:False}) is 1
    685 PASS foo({f:True}) is 1
    686 PASS foo({f:False}) is 0
    687 PASS bar({f:True}) is 0
    688 PASS bar({f:False}) is 1
    689 PASS foo({f:True}) is 1
    690 PASS foo({f:False}) is 0
    691 PASS bar({f:True}) is 0
    692 PASS bar({f:False}) is 1
    693 PASS foo({f:True}) is 1
    694 PASS foo({f:False}) is 0
    695 PASS bar({f:True}) is 0
    696 PASS bar({f:False}) is 1
    697 PASS foo({f:True}) is 1
    698 PASS foo({f:False}) is 0
    699 PASS bar({f:True}) is 0
    700 PASS bar({f:False}) is 1
    701 PASS foo({f:True}) is 1
    702 PASS foo({f:False}) is 0
    703 PASS bar({f:True}) is 0
    704 PASS bar({f:False}) is 1
    705 PASS foo({f:True}) is 1
    706 PASS foo({f:False}) is 0
    707 PASS bar({f:True}) is 0
    708 PASS bar({f:False}) is 1
    709 PASS foo({f:True}) is 1
    710 PASS foo({f:False}) is 0
    711 PASS bar({f:True}) is 0
    712 PASS bar({f:False}) is 1
    713 PASS foo({f:True}) is 1
    714 PASS foo({f:False}) is 0
    715 PASS bar({f:True}) is 0
    716 PASS bar({f:False}) is 1
    717 PASS foo({f:True}) is 1
    718 PASS foo({f:False}) is 0
    719 PASS bar({f:True}) is 0
    720 PASS bar({f:False}) is 1
    721 PASS foo({f:True}) is 1
    722 PASS foo({f:False}) is 0
    723 PASS bar({f:True}) is 0
    724 PASS bar({f:False}) is 1
    725 PASS foo({f:True}) is 1
    726 PASS foo({f:False}) is 0
    727 PASS bar({f:True}) is 0
    728 PASS bar({f:False}) is 1
    729 PASS foo({f:True}) is 1
    730 PASS foo({f:False}) is 0
    731 PASS bar({f:True}) is 0
    732 PASS bar({f:False}) is 1
    733 PASS foo({f:True}) is 1
    734 PASS foo({f:False}) is 0
    735 PASS bar({f:True}) is 0
    736 PASS bar({f:False}) is 1
    737 PASS foo({f:True}) is 1
    738 PASS foo({f:False}) is 0
    739 PASS bar({f:True}) is 0
    740 PASS bar({f:False}) is 1
    741 PASS foo({f:True}) is 1
    742 PASS foo({f:False}) is 0
    743 PASS bar({f:True}) is 0
    744 PASS bar({f:False}) is 1
    745 PASS foo({f:True}) is 1
    746 PASS foo({f:False}) is 0
    747 PASS bar({f:True}) is 0
    748 PASS bar({f:False}) is 1
    749 PASS foo({f:True}) is 1
    750 PASS foo({f:False}) is 0
    751 PASS bar({f:True}) is 0
    752 PASS bar({f:False}) is 1
    753 PASS foo({f:True}) is 1
    754 PASS foo({f:False}) is 0
    755 PASS bar({f:True}) is 0
    756 PASS bar({f:False}) is 1
    757 PASS foo({f:True}) is 1
    758 PASS foo({f:False}) is 0
    759 PASS bar({f:True}) is 0
    760 PASS bar({f:False}) is 1
    761 PASS foo({f:True}) is 1
    762 PASS foo({f:False}) is 0
    763 PASS bar({f:True}) is 0
    764 PASS bar({f:False}) is 1
    765 PASS foo({f:True}) is 1
    766 PASS foo({f:False}) is 0
    767 PASS bar({f:True}) is 0
    768 PASS bar({f:False}) is 1
    769 PASS foo({f:True}) is 1
    770 PASS foo({f:False}) is 0
    771 PASS bar({f:True}) is 0
    772 PASS bar({f:False}) is 1
    773 PASS foo({f:True}) is 1
    774 PASS foo({f:False}) is 0
    775 PASS bar({f:True}) is 0
    776 PASS bar({f:False}) is 1
    777 PASS foo({f:True}) is 1
    778 PASS foo({f:False}) is 0
    779 PASS bar({f:True}) is 0
    780 PASS bar({f:False}) is 1
    781 PASS foo({f:True}) is 1
    782 PASS foo({f:False}) is 0
    783 PASS bar({f:True}) is 0
    784 PASS bar({f:False}) is 1
    785 PASS foo({f:True}) is 1
    786 PASS foo({f:False}) is 0
    787 PASS bar({f:True}) is 0
    788 PASS bar({f:False}) is 1
    789 PASS foo({f:True}) is 1
    790 PASS foo({f:False}) is 0
    791 PASS bar({f:True}) is 0
    792 PASS bar({f:False}) is 1
    793 PASS foo({f:True}) is 1
    794 PASS foo({f:False}) is 0
    795 PASS bar({f:True}) is 0
    796 PASS bar({f:False}) is 1
    797 PASS foo({f:True}) is 1
    798 PASS foo({f:False}) is 0
    799 PASS bar({f:True}) is 0
    800 PASS bar({f:False}) is 1
    801 PASS foo({f:True}) is 1
    802 PASS foo({f:False}) is 0
    803 PASS bar({f:True}) is 0
    804 PASS bar({f:False}) is 1
    805 PASS foo({f:True}) is 1
    806 PASS foo({f:False}) is 0
    807 PASS bar({f:True}) is 0
    808 PASS bar({f:False}) is 1
    809 PASS foo({f:True}) is 1
    810 PASS foo({f:False}) is 0
    811 PASS bar({f:True}) is 0
    812 PASS bar({f:False}) is 1
    813 PASS foo({f:True}) is 1
    814 PASS foo({f:False}) is 0
    815 PASS bar({f:True}) is 0
    816 PASS bar({f:False}) is 1
    817 PASS foo({f:True}) is 1
    818 PASS foo({f:False}) is 0
    819 PASS bar({f:True}) is 0
    820 PASS bar({f:False}) is 1
    821 PASS foo({f:True}) is 1
    822 PASS foo({f:False}) is 0
    823 PASS bar({f:True}) is 0
    824 PASS bar({f:False}) is 1
    825 PASS foo({f:True}) is 1
    826 PASS foo({f:False}) is 0
    827 PASS bar({f:True}) is 0
    828 PASS bar({f:False}) is 1
    829 PASS successfullyParsed is true
    830 
    831 TEST COMPLETE
    832 
    833