Changeset 175722 in webkit


Ignore:
Timestamp:
Nov 6, 2014 3:53:50 PM (9 years ago)
Author:
mark.lam@apple.com
Message:

Refactor the get-by-pname.js test.
<https://webkit.org/b/138483>

Reviewed by Geoffrey Garen.

Refactored the test code to:

  1. make it easier to add more test cases.
  2. test each case against different tier JITs.
  3. print only one set of results for each tier being tested.
  • js/get-by-pname-expected.txt:
  • js/script-tests/get-by-pname.js:

(getByPnameOnConstant):
(getByPnameOnVar):
(testExpr):
(testExpectedResult):
(isTierIteration):
(tierName):

Location:
trunk/LayoutTests
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r175721 r175722  
     12014-11-06  Mark Lam  <mark.lam@apple.com>
     2
     3        Refactor the get-by-pname.js test.
     4        <https://webkit.org/b/138483>
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Refactored the test code to:
     9        1. make it easier to add more test cases.
     10        2. test each case against different tier JITs.
     11        3. print only one set of results for each tier being tested.
     12
     13        * js/get-by-pname-expected.txt:
     14        * js/script-tests/get-by-pname.js:
     15        (getByPnameOnConstant):
     16        (getByPnameOnVar):
     17        (testExpr):
     18        (testExpectedResult):
     19        (isTierIteration):
     20        (tierName):
     21
    1222014-11-06  Bem Jones-Bey  <bjonesbe@adobe.com>
    223
  • trunk/LayoutTests/js/get-by-pname-expected.txt

    r122047 r175722  
    44
    55
     6Test tier: cold
    67PASS foo(o) is 11
    78PASS foo(p) is 10
     
    910PASS foo(r) is 113
    1011PASS foo(s) is 182
     12
     13Test tier: llint
    1114PASS foo(o) is 11
    1215PASS foo(p) is 10
     
    1417PASS foo(r) is 113
    1518PASS foo(s) is 182
     19
     20Test tier: baseline
    1621PASS foo(o) is 11
    1722PASS foo(p) is 10
     
    1924PASS foo(r) is 113
    2025PASS foo(s) is 182
     26
     27Test tier: dfg
    2128PASS foo(o) is 11
    2229PASS foo(p) is 10
     
    2431PASS foo(r) is 113
    2532PASS foo(s) is 182
    26 PASS foo(o) is 11
    27 PASS foo(p) is 10
    28 PASS foo(q) is 3467
    29 PASS foo(r) is 113
    30 PASS foo(s) is 182
    31 PASS foo(o) is 11
    32 PASS foo(p) is 10
    33 PASS foo(q) is 3467
    34 PASS foo(r) is 113
    35 PASS foo(s) is 182
    36 PASS foo(o) is 11
    37 PASS foo(p) is 10
    38 PASS foo(q) is 3467
    39 PASS foo(r) is 113
    40 PASS foo(s) is 182
    41 PASS foo(o) is 11
    42 PASS foo(p) is 10
    43 PASS foo(q) is 3467
    44 PASS foo(r) is 113
    45 PASS foo(s) is 182
    46 PASS foo(o) is 11
    47 PASS foo(p) is 10
    48 PASS foo(q) is 3467
    49 PASS foo(r) is 113
    50 PASS foo(s) is 182
    51 PASS foo(o) is 11
    52 PASS foo(p) is 10
    53 PASS foo(q) is 3467
    54 PASS foo(r) is 113
    55 PASS foo(s) is 182
    56 PASS foo(o) is 11
    57 PASS foo(p) is 10
    58 PASS foo(q) is 3467
    59 PASS foo(r) is 113
    60 PASS foo(s) is 182
    61 PASS foo(o) is 11
    62 PASS foo(p) is 10
    63 PASS foo(q) is 3467
    64 PASS foo(r) is 113
    65 PASS foo(s) is 182
    66 PASS foo(o) is 11
    67 PASS foo(p) is 10
    68 PASS foo(q) is 3467
    69 PASS foo(r) is 113
    70 PASS foo(s) is 182
    71 PASS foo(o) is 11
    72 PASS foo(p) is 10
    73 PASS foo(q) is 3467
    74 PASS foo(r) is 113
    75 PASS foo(s) is 182
    76 PASS foo(o) is 11
    77 PASS foo(p) is 10
    78 PASS foo(q) is 3467
    79 PASS foo(r) is 113
    80 PASS foo(s) is 182
    81 PASS foo(o) is 11
    82 PASS foo(p) is 10
    83 PASS foo(q) is 3467
    84 PASS foo(r) is 113
    85 PASS foo(s) is 182
    86 PASS foo(o) is 11
    87 PASS foo(p) is 10
    88 PASS foo(q) is 3467
    89 PASS foo(r) is 113
    90 PASS foo(s) is 182
    91 PASS foo(o) is 11
    92 PASS foo(p) is 10
    93 PASS foo(q) is 3467
    94 PASS foo(r) is 113
    95 PASS foo(s) is 182
    96 PASS foo(o) is 11
    97 PASS foo(p) is 10
    98 PASS foo(q) is 3467
    99 PASS foo(r) is 113
    100 PASS foo(s) is 182
    101 PASS foo(o) is 11
    102 PASS foo(p) is 10
    103 PASS foo(q) is 3467
    104 PASS foo(r) is 113
    105 PASS foo(s) is 182
    106 PASS foo(o) is 11
    107 PASS foo(p) is 10
    108 PASS foo(q) is 3467
    109 PASS foo(r) is 113
    110 PASS foo(s) is 182
    111 PASS foo(o) is 11
    112 PASS foo(p) is 10
    113 PASS foo(q) is 3467
    114 PASS foo(r) is 113
    115 PASS foo(s) is 182
    116 PASS foo(o) is 11
    117 PASS foo(p) is 10
    118 PASS foo(q) is 3467
    119 PASS foo(r) is 113
    120 PASS foo(s) is 182
    121 PASS foo(o) is 11
    122 PASS foo(p) is 10
    123 PASS foo(q) is 3467
    124 PASS foo(r) is 113
    125 PASS foo(s) is 182
    126 PASS foo(o) is 11
    127 PASS foo(p) is 10
    128 PASS foo(q) is 3467
    129 PASS foo(r) is 113
    130 PASS foo(s) is 182
    131 PASS foo(o) is 11
    132 PASS foo(p) is 10
    133 PASS foo(q) is 3467
    134 PASS foo(r) is 113
    135 PASS foo(s) is 182
    136 PASS foo(o) is 11
    137 PASS foo(p) is 10
    138 PASS foo(q) is 3467
    139 PASS foo(r) is 113
    140 PASS foo(s) is 182
    141 PASS foo(o) is 11
    142 PASS foo(p) is 10
    143 PASS foo(q) is 3467
    144 PASS foo(r) is 113
    145 PASS foo(s) is 182
    146 PASS foo(o) is 11
    147 PASS foo(p) is 10
    148 PASS foo(q) is 3467
    149 PASS foo(r) is 113
    150 PASS foo(s) is 182
    151 PASS foo(o) is 11
    152 PASS foo(p) is 10
    153 PASS foo(q) is 3467
    154 PASS foo(r) is 113
    155 PASS foo(s) is 182
    156 PASS foo(o) is 11
    157 PASS foo(p) is 10
    158 PASS foo(q) is 3467
    159 PASS foo(r) is 113
    160 PASS foo(s) is 182
    161 PASS foo(o) is 11
    162 PASS foo(p) is 10
    163 PASS foo(q) is 3467
    164 PASS foo(r) is 113
    165 PASS foo(s) is 182
    166 PASS foo(o) is 11
    167 PASS foo(p) is 10
    168 PASS foo(q) is 3467
    169 PASS foo(r) is 113
    170 PASS foo(s) is 182
    171 PASS foo(o) is 11
    172 PASS foo(p) is 10
    173 PASS foo(q) is 3467
    174 PASS foo(r) is 113
    175 PASS foo(s) is 182
    176 PASS foo(o) is 11
    177 PASS foo(p) is 10
    178 PASS foo(q) is 3467
    179 PASS foo(r) is 113
    180 PASS foo(s) is 182
    181 PASS foo(o) is 11
    182 PASS foo(p) is 10
    183 PASS foo(q) is 3467
    184 PASS foo(r) is 113
    185 PASS foo(s) is 182
    186 PASS foo(o) is 11
    187 PASS foo(p) is 10
    188 PASS foo(q) is 3467
    189 PASS foo(r) is 113
    190 PASS foo(s) is 182
    191 PASS foo(o) is 11
    192 PASS foo(p) is 10
    193 PASS foo(q) is 3467
    194 PASS foo(r) is 113
    195 PASS foo(s) is 182
    196 PASS foo(o) is 11
    197 PASS foo(p) is 10
    198 PASS foo(q) is 3467
    199 PASS foo(r) is 113
    200 PASS foo(s) is 182
    201 PASS foo(o) is 11
    202 PASS foo(p) is 10
    203 PASS foo(q) is 3467
    204 PASS foo(r) is 113
    205 PASS foo(s) is 182
    206 PASS foo(o) is 11
    207 PASS foo(p) is 10
    208 PASS foo(q) is 3467
    209 PASS foo(r) is 113
    210 PASS foo(s) is 182
    211 PASS foo(o) is 11
    212 PASS foo(p) is 10
    213 PASS foo(q) is 3467
    214 PASS foo(r) is 113
    215 PASS foo(s) is 182
    216 PASS foo(o) is 11
    217 PASS foo(p) is 10
    218 PASS foo(q) is 3467
    219 PASS foo(r) is 113
    220 PASS foo(s) is 182
    221 PASS foo(o) is 11
    222 PASS foo(p) is 10
    223 PASS foo(q) is 3467
    224 PASS foo(r) is 113
    225 PASS foo(s) is 182
    226 PASS foo(o) is 11
    227 PASS foo(p) is 10
    228 PASS foo(q) is 3467
    229 PASS foo(r) is 113
    230 PASS foo(s) is 182
    231 PASS foo(o) is 11
    232 PASS foo(p) is 10
    233 PASS foo(q) is 3467
    234 PASS foo(r) is 113
    235 PASS foo(s) is 182
    236 PASS foo(o) is 11
    237 PASS foo(p) is 10
    238 PASS foo(q) is 3467
    239 PASS foo(r) is 113
    240 PASS foo(s) is 182
    241 PASS foo(o) is 11
    242 PASS foo(p) is 10
    243 PASS foo(q) is 3467
    244 PASS foo(r) is 113
    245 PASS foo(s) is 182
    246 PASS foo(o) is 11
    247 PASS foo(p) is 10
    248 PASS foo(q) is 3467
    249 PASS foo(r) is 113
    250 PASS foo(s) is 182
    251 PASS foo(o) is 11
    252 PASS foo(p) is 10
    253 PASS foo(q) is 3467
    254 PASS foo(r) is 113
    255 PASS foo(s) is 182
    256 PASS foo(o) is 11
    257 PASS foo(p) is 10
    258 PASS foo(q) is 3467
    259 PASS foo(r) is 113
    260 PASS foo(s) is 182
    261 PASS foo(o) is 11
    262 PASS foo(p) is 10
    263 PASS foo(q) is 3467
    264 PASS foo(r) is 113
    265 PASS foo(s) is 182
    266 PASS foo(o) is 11
    267 PASS foo(p) is 10
    268 PASS foo(q) is 3467
    269 PASS foo(r) is 113
    270 PASS foo(s) is 182
    271 PASS foo(o) is 11
    272 PASS foo(p) is 10
    273 PASS foo(q) is 3467
    274 PASS foo(r) is 113
    275 PASS foo(s) is 182
    276 PASS foo(o) is 11
    277 PASS foo(p) is 10
    278 PASS foo(q) is 3467
    279 PASS foo(r) is 113
    280 PASS foo(s) is 182
    281 PASS foo(o) is 11
    282 PASS foo(p) is 10
    283 PASS foo(q) is 3467
    284 PASS foo(r) is 113
    285 PASS foo(s) is 182
    286 PASS foo(o) is 11
    287 PASS foo(p) is 10
    288 PASS foo(q) is 3467
    289 PASS foo(r) is 113
    290 PASS foo(s) is 182
    291 PASS foo(o) is 11
    292 PASS foo(p) is 10
    293 PASS foo(q) is 3467
    294 PASS foo(r) is 113
    295 PASS foo(s) is 182
    296 PASS foo(o) is 11
    297 PASS foo(p) is 10
    298 PASS foo(q) is 3467
    299 PASS foo(r) is 113
    300 PASS foo(s) is 182
    301 PASS foo(o) is 11
    302 PASS foo(p) is 10
    303 PASS foo(q) is 3467
    304 PASS foo(r) is 113
    305 PASS foo(s) is 182
    306 PASS foo(o) is 11
    307 PASS foo(p) is 10
    308 PASS foo(q) is 3467
    309 PASS foo(r) is 113
    310 PASS foo(s) is 182
    311 PASS foo(o) is 11
    312 PASS foo(p) is 10
    313 PASS foo(q) is 3467
    314 PASS foo(r) is 113
    315 PASS foo(s) is 182
    316 PASS foo(o) is 11
    317 PASS foo(p) is 10
    318 PASS foo(q) is 3467
    319 PASS foo(r) is 113
    320 PASS foo(s) is 182
    321 PASS foo(o) is 11
    322 PASS foo(p) is 10
    323 PASS foo(q) is 3467
    324 PASS foo(r) is 113
    325 PASS foo(s) is 182
    326 PASS foo(o) is 11
    327 PASS foo(p) is 10
    328 PASS foo(q) is 3467
    329 PASS foo(r) is 113
    330 PASS foo(s) is 182
    331 PASS foo(o) is 11
    332 PASS foo(p) is 10
    333 PASS foo(q) is 3467
    334 PASS foo(r) is 113
    335 PASS foo(s) is 182
    336 PASS foo(o) is 11
    337 PASS foo(p) is 10
    338 PASS foo(q) is 3467
    339 PASS foo(r) is 113
    340 PASS foo(s) is 182
    341 PASS foo(o) is 11
    342 PASS foo(p) is 10
    343 PASS foo(q) is 3467
    344 PASS foo(r) is 113
    345 PASS foo(s) is 182
    346 PASS foo(o) is 11
    347 PASS foo(p) is 10
    348 PASS foo(q) is 3467
    349 PASS foo(r) is 113
    350 PASS foo(s) is 182
    351 PASS foo(o) is 11
    352 PASS foo(p) is 10
    353 PASS foo(q) is 3467
    354 PASS foo(r) is 113
    355 PASS foo(s) is 182
    356 PASS foo(o) is 11
    357 PASS foo(p) is 10
    358 PASS foo(q) is 3467
    359 PASS foo(r) is 113
    360 PASS foo(s) is 182
    361 PASS foo(o) is 11
    362 PASS foo(p) is 10
    363 PASS foo(q) is 3467
    364 PASS foo(r) is 113
    365 PASS foo(s) is 182
    366 PASS foo(o) is 11
    367 PASS foo(p) is 10
    368 PASS foo(q) is 3467
    369 PASS foo(r) is 113
    370 PASS foo(s) is 182
    371 PASS foo(o) is 11
    372 PASS foo(p) is 10
    373 PASS foo(q) is 3467
    374 PASS foo(r) is 113
    375 PASS foo(s) is 182
    376 PASS foo(o) is 11
    377 PASS foo(p) is 10
    378 PASS foo(q) is 3467
    379 PASS foo(r) is 113
    380 PASS foo(s) is 182
    381 PASS foo(o) is 11
    382 PASS foo(p) is 10
    383 PASS foo(q) is 3467
    384 PASS foo(r) is 113
    385 PASS foo(s) is 182
    386 PASS foo(o) is 11
    387 PASS foo(p) is 10
    388 PASS foo(q) is 3467
    389 PASS foo(r) is 113
    390 PASS foo(s) is 182
    391 PASS foo(o) is 11
    392 PASS foo(p) is 10
    393 PASS foo(q) is 3467
    394 PASS foo(r) is 113
    395 PASS foo(s) is 182
    396 PASS foo(o) is 11
    397 PASS foo(p) is 10
    398 PASS foo(q) is 3467
    399 PASS foo(r) is 113
    400 PASS foo(s) is 182
    401 PASS foo(o) is 11
    402 PASS foo(p) is 10
    403 PASS foo(q) is 3467
    404 PASS foo(r) is 113
    405 PASS foo(s) is 182
    406 PASS foo(o) is 11
    407 PASS foo(p) is 10
    408 PASS foo(q) is 3467
    409 PASS foo(r) is 113
    410 PASS foo(s) is 182
    411 PASS foo(o) is 11
    412 PASS foo(p) is 10
    413 PASS foo(q) is 3467
    414 PASS foo(r) is 113
    415 PASS foo(s) is 182
    416 PASS foo(o) is 11
    417 PASS foo(p) is 10
    418 PASS foo(q) is 3467
    419 PASS foo(r) is 113
    420 PASS foo(s) is 182
    421 PASS foo(o) is 11
    422 PASS foo(p) is 10
    423 PASS foo(q) is 3467
    424 PASS foo(r) is 113
    425 PASS foo(s) is 182
    426 PASS foo(o) is 11
    427 PASS foo(p) is 10
    428 PASS foo(q) is 3467
    429 PASS foo(r) is 113
    430 PASS foo(s) is 182
    431 PASS foo(o) is 11
    432 PASS foo(p) is 10
    433 PASS foo(q) is 3467
    434 PASS foo(r) is 113
    435 PASS foo(s) is 182
    436 PASS foo(o) is 11
    437 PASS foo(p) is 10
    438 PASS foo(q) is 3467
    439 PASS foo(r) is 113
    440 PASS foo(s) is 182
    441 PASS foo(o) is 11
    442 PASS foo(p) is 10
    443 PASS foo(q) is 3467
    444 PASS foo(r) is 113
    445 PASS foo(s) is 182
    446 PASS foo(o) is 11
    447 PASS foo(p) is 10
    448 PASS foo(q) is 3467
    449 PASS foo(r) is 113
    450 PASS foo(s) is 182
    451 PASS foo(o) is 11
    452 PASS foo(p) is 10
    453 PASS foo(q) is 3467
    454 PASS foo(r) is 113
    455 PASS foo(s) is 182
    456 PASS foo(o) is 11
    457 PASS foo(p) is 10
    458 PASS foo(q) is 3467
    459 PASS foo(r) is 113
    460 PASS foo(s) is 182
    461 PASS foo(o) is 11
    462 PASS foo(p) is 10
    463 PASS foo(q) is 3467
    464 PASS foo(r) is 113
    465 PASS foo(s) is 182
    466 PASS foo(o) is 11
    467 PASS foo(p) is 10
    468 PASS foo(q) is 3467
    469 PASS foo(r) is 113
    470 PASS foo(s) is 182
    471 PASS foo(o) is 11
    472 PASS foo(p) is 10
    473 PASS foo(q) is 3467
    474 PASS foo(r) is 113
    475 PASS foo(s) is 182
    476 PASS foo(o) is 11
    477 PASS foo(p) is 10
    478 PASS foo(q) is 3467
    479 PASS foo(r) is 113
    480 PASS foo(s) is 182
    481 PASS foo(o) is 11
    482 PASS foo(p) is 10
    483 PASS foo(q) is 3467
    484 PASS foo(r) is 113
    485 PASS foo(s) is 182
    486 PASS foo(o) is 11
    487 PASS foo(p) is 10
    488 PASS foo(q) is 3467
    489 PASS foo(r) is 113
    490 PASS foo(s) is 182
    491 PASS foo(o) is 11
    492 PASS foo(p) is 10
    493 PASS foo(q) is 3467
    494 PASS foo(r) is 113
    495 PASS foo(s) is 182
    496 PASS foo(o) is 11
    497 PASS foo(p) is 10
    498 PASS foo(q) is 3467
    499 PASS foo(r) is 113
    500 PASS foo(s) is 182
    501 PASS foo(o) is 11
    502 PASS foo(p) is 10
    503 PASS foo(q) is 3467
    504 PASS foo(r) is 113
    505 PASS foo(s) is 182
     33
    50634PASS successfullyParsed is true
    50735
  • trunk/LayoutTests/js/script-tests/get-by-pname.js

    r122047 r175722  
    1616var s = {a:1, b:2, c:3, d:4, e:91, f:12, g:69};
    1717
    18 for (var i = 0; i < 100; ++i) {
    19     shouldBe("foo(o)", "11");
    20     shouldBe("foo(p)", "10");
    21     shouldBe("foo(q)", "3467");
    22     shouldBe("foo(r)", "113");
    23     shouldBe("foo(s)", "182");
     18var testCases = [
     19    [ "foo(o)", "11" ],
     20    [ "foo(p)", "10" ],
     21    [ "foo(q)", "3467" ],
     22    [ "foo(r)", "113" ],
     23    [ "foo(s)", "182" ],
     24];
     25
     26function testExpr(index) {
     27    return testCases[index][0];
     28}
     29function testExpectedResult(index) {
     30    return testCases[index][1];
    2431}
    2532
     33// The tiers should be sorted from lowest iterations to highest.
     34var tiers = [
     35    // name, iterations
     36    [ "cold", 0 ],
     37    [ "llint", 10 ],
     38    [ "baseline", 500 ],
     39    [ "dfg", 1000 ],
     40    // [ "ftl", 100000 ],
     41];
     42var highestIteration = tiers[tiers.length - 1][1];
     43
     44function isTierIteration(iteration) {
     45    for (var i = 0; i < tiers.length; i++) {
     46        var tierIteration = tiers[i][1];
     47        if (iteration < tierIteration)
     48            return false;
     49        if (iteration == tierIteration)
     50            return true;
     51    }
     52    return false;
     53}
     54function tierName(iteration) {
     55    for (var i = 0; i < tiers.length; i++) {
     56        if (iteration == tiers[i][1])
     57            return tiers[i][0];
     58    }
     59}
     60
     61for (var i = 0; i <= highestIteration; ++i) {
     62    if (isTierIteration(i)) {
     63        debug("Test tier: " + tierName(i));
     64        for (var j = 0; j < testCases.length; j++)
     65            shouldBe(testExpr(j), testExpectedResult(j));
     66        debug("");
     67    } else {
     68        for (var j = 0; j < testCases.length; j++)
     69            eval(testExpr(j));
     70    }
     71}
     72
Note: See TracChangeset for help on using the changeset viewer.