Institute a central "load this first in testing" package
[dbsrgits/DBIx-Class.git] / t / 39load_namespaces_stress.t
CommitLineData
c0329273 1BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
2
db29433c 3use strict;
4use warnings;
5use Test::More;
6use Time::HiRes qw/gettimeofday/;
7
c0329273 8
db29433c 9use DBICTest; # do not remove even though it is not used
10
11our $src_count = 100;
12
13for (1 .. $src_count) {
14 eval <<EOM or die $@;
15
16 package DBICTest::NS::Stress::Schema::Result::T$_;
17 use base qw/DBIx::Class::Core/;
18 __PACKAGE__->table($_);
19 __PACKAGE__->add_columns (
20 id => { data_type => 'integer', is_auto_increment => 1 },
21 data => { data_type => 'varchar', size => 255 },
22 );
23 __PACKAGE__->set_primary_key('id');
24 __PACKAGE__->add_unique_constraint(['data']);
25
26EOM
27}
28
29{
30 package DBICTest::NS::Stress::Schema;
31
32 use base qw/DBIx::Class::Schema/;
33
34 sub _findallmod {
35 return $_[1] eq ( __PACKAGE__ . '::Result' )
36 ? ( map { __PACKAGE__ . "::Result::T$_" } 1 .. $::src_count )
37 : ()
38 ;
39 }
40}
41
42is (DBICTest::NS::Stress::Schema->sources, 0, 'Start with no sources');
43
44
45note gettimeofday . ":\tload_namespaces start";
46DBICTest::NS::Stress::Schema->load_namespaces;
47note gettimeofday . ":\tload_namespaces finished";
48
49is (DBICTest::NS::Stress::Schema->sources, $src_count, 'All sources attached');
50
51done_testing;