only create svn reference repo once per data set

Authored by sitter on May 25 2020, 2:37 PM.

Description

only create svn reference repo once per data set

this improves speed dramatically since svn is super expensive.
goes from about 58 assertions/s to 133 a/s over an entire rake test run.

to facilitiate this there's some rejiggering in testme

  • has new class extensions
  • testdir and the derived datadir and data(path) are now class-level since they do not actually mutate with the individual instances but rather lookup fixtures based on the class type
  • new assert_run on class and instance level to help prevent system() or `` failing and us not noticing/asserting this (specifically I suspect l10n may flake sometimes due to one of the setup calls falling off a cliff)

the way the actual setup works is by (ab)using ruby init behavior. consts
only get initialized once an so a block attached to a const is also only
run once per file effectively rendering it an only_once kind of affair.
on the opposite end of the life cycle sits the after_run hook which simply
runs after minitest is done with everything.

the actual setup() now simply copies the reference repo into place instead
of creating it from scratch every time

Details

Committed
sitterMay 25 2020, 2:37 PM
Parents
R572:88400d6a0827: throw out legacy teardown
Branches
Unknown
Tags
Unknown