Add import-time-skip support to OptDeps, switch most tests over to that
authorPeter Rabbitson <ribasushi@cpan.org>
Fri, 17 Oct 2014 09:35:46 +0000 (11:35 +0200)
committerPeter Rabbitson <ribasushi@cpan.org>
Tue, 10 Feb 2015 18:04:20 +0000 (19:04 +0100)
commitcb551b079b096630988312e22becd87fb54fb7de
tree347bbebfc65f4117c4d3e2bf873ccd0851ab9aef
parentafb8fc5295f37e051ab76636d1f73538f42edc08
Add import-time-skip support to OptDeps, switch most tests over to that

This is the meat of this refactor, inspired by multiple parties complaining
(with good reason) about the sluggishness of our skip_all()s, and by groundwork
in both c8dc7d333 and 2c2bc4e5 (both never applied - the former is superseded
by a more direct approach and the latter being too intrusive with too little
benefit after the refactor)

Only tests with unambiguous skips were switched over - later commits will
address multi-rdbms loops in a different manner.

The loss of skip-time warnings "this test creates tables blah and blah" was
deliberate, and due to several reasons

*) They are displayed at the wrong time
*) They are not well sycnrhonized with what the actual test does
*) Some time this year all table names will switch to dbictest_-prefixing

All in all the thinking is that nothing of value is lost, and the changeset
is greatly simplified as a result.

The loading before strict/warning in tests is actually significant. It appears
that in "all deps fail" cases the speedup of not loading strictures is quite
significant (demonstrated below difference on WiP CDBICompat streamlining):

strictures first:
Files=43, Tests=0,  1 wallclock secs ( 0.14 usr  0.08 sys +  0.35 cusr  0.15 csys =  0.72 CPU)

optdeps first:
Files=43, Tests=0,  1 wallclock secs ( 0.13 usr  0.06 sys +  0.14 cusr  0.11 csys =  0.44 CPU)
48 files changed:
Changes
lib/DBIx/Class/Optional/Dependencies.pm
t/105view_deps.t
t/50fork.t
t/51threads.t
t/51threadtxn.t
t/53lean_startup.t
t/71mysql.t
t/72pg.t
t/72pg_bytea.t
t/73oracle.t
t/73oracle_blob.t
t/73oracle_hq.t
t/745db2.t
t/746db2_400.t
t/746mssql.t
t/746sybase.t
t/747mssql_ado.t
t/748informix.t
t/74mssql.t
t/86sqlt.t
t/94versioning.t
t/96_is_deteministic_value.t
t/99dbic_sqlt_parser.t
t/admin/02ddl.t
t/admin/03data.t
t/admin/10script.t
t/cdbi/70_implicit_inflate.t
t/inflate/core.t
t/inflate/datetime.t
t/inflate/datetime_determine_parser.t
t/inflate/datetime_firebird.t
t/inflate/datetime_informix.t
t/inflate/datetime_mysql.t
t/inflate/datetime_oracle.t
t/inflate/datetime_pg.t
t/inflate/datetime_sybase.t
t/sqlmaker/hierarchical/oracle.t
t/sqlmaker/oracle.t
t/sqlmaker/oraclejoin.t
t/storage/dbic_pretty.t
t/storage/deploy.t
t/storage/replicated.t
xt/optional_deps.t
xt/pod.t
xt/podcoverage.t
xt/strictures.t
xt/whitespace.t