[parrot/parrot] 278aea: [test] refactor t/stress/rpa-splice.t

GitHub noreply at github.com
Sun Jan 18 12:40:02 UTC 2015


  Branch: refs/heads/smoke-me/rpa-splice-shrink-fast-gh1174
  Home:   https://github.com/parrot/parrot
  Commit: 278aea0d5359b9e09621765a99457dfc3745c874
      https://github.com/parrot/parrot/commit/278aea0d5359b9e09621765a99457dfc3745c874
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [test] refactor t/stress/rpa-splice.t

For GH #1175 and #1176.
Use the first negative count tests only under a memory checker, valgrind or asan/msan.

Use dynamic done_testing for the test count and allow a flexible MAXCOUNT for the p0 size.
Fix the offset overflow detection, only use that on off by one to avoid too many noisy perl5 warnings.

Failed tests:  88, 102-103, 105, 273 with MAXSIZE=5


  Commit: 02069e510285f9fb0df9576e6dd263007805ec54
      https://github.com/parrot/parrot/commit/02069e510285f9fb0df9576e6dd263007805ec54
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M src/pmc/resizablepmcarray.pmc
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [pmc] fix more rpa splice cases #1174 + #1175 + #1176

- First, for debugging only:
  track if no TRACE_RPA was ever emitted and do it at the end to see a splice
  noop.
- Second, on splice off > size, enlarge the array as in perl5, see GH #1176.
- Third, disallow the splice shrink fast, just adjusting the offset if we have
  to keep one element at the left.
- Forth, fix splice shrink followed by a grow or fill, by not adjusting the
  offset twice.
- Fifth, on splice shrink fast, also adjust the new size, as the newsize branch
  below is not always taken (jump to splice_copy)

Add an optional argument to t/stress/rpa-splice.t for the maxsize, default 7.
We still have 'splice off > size' errors > 7.


Compare: https://github.com/parrot/parrot/compare/c06f51e54671...02069e510285


More information about the parrot-commits mailing list