package URT::DataSource::Meta; # The datasource for metadata describing the tables, columns and foreign # keys in the target datasource use strict; use warnings; use UR; UR::Object::Type->define( class_name => 'URT::DataSource::Meta', is => ['UR::DataSource::Meta'], ); use File::Temp; # Override server() so we can make the metaDB file in # a temp dir sub server { my $self = shift; our $PATH; $PATH ||= File::Temp::tmpnam() . "_ur_testsuite_metadb" . $self->_extension_for_db; return $PATH; } # Don't print out warnings about loading up the DB if running in the test harness # Similar code exists in URT::DataSource::SomeSQLite sub _dont_emit_initializing_messages { my($dsobj, $message) = @_; if ($message =~ m/^Re-creating/) { # don't emit the message about re-creating the DB when run in the test harness $_[1] = undef; } } if ($ENV{'HARNESS_ACTIVE'}) { # don't emit messages while running in the test harness __PACKAGE__->warning_messages_callback(\&_dont_emit_initializing_messages); } END { our $PATH; unlink $PATH if ($PATH); } 1;