Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re^3: How to do automated tests of a database centric CPAN module

by erix (Parson)
on Oct 21, 2012 at 11:45 UTC ( #1000209=note: print w/replies, xml ) Need Help??

in reply to Re^2: How to do automated tests of a database centric CPAN module
in thread How to do automated tests of a database centric CPAN module

I believe Test::Database serves a similar purpose (create/drop temp databases).

  • Comment on Re^3: How to do automated tests of a database centric CPAN module

Replies are listed 'Best First'.
Re^4: How to do automated tests of a database centric CPAN module
by jds17 (Pilgrim) on Oct 21, 2012 at 14:10 UTC
    If I understood the documentation correctly, only DBMSs available in the current environment can be instantiated by using Test::Database, so it would not help in the current situation, but please correct me if I am wrong.

      That's true but in that it's not different from Test::postgresql, as far as I can see.

      From Test::postgresql docs:

      new [...] If required programs (initdb and postmaster) were not found, the function returns undef and sets appropriate message to $Test::postgresql::errstr.

      I think it's really only DBD::SQLite that will give you a complete package, from scratch.

      ( Probably one could create a package with all the bits to run a PostgreSQL instance from the binaries from the EnterpriseDB site [1], but that looks like quite an undertaking...:

      (cannot run as root) "Binaries from installer version 9.2.1" -- to use, unzip the pgsql directory somewhere, and cd into it: cd pgsql -- run initdb: ./bin/initdb -D 9.2/data -- start postgres: ./bin/pg_ctl/ -D 9.2/data -l logfile start -- run tests... -- to stop, close all connections, then: ./bin/pg_ctl -D 9.2/data -l logfile stop -- cleanup all files Hm, I don't know - possible but error-prone, probably...


        erix, thank you for pointing this out, I did not yet look at Test::postgresql (being busy handling SQLite support, until today I did not know just how different SQLite is from other DBMSs, in particular when trying to get meta data...). So I cannot use Test::postgresql for the stated purposes either.

        I don't think it would be feasible to run such a PostgreSQL install during my module install, I will stick to SQLite for the time being, thank you for elaborating on this.

        erix, please allow me a well-intentioned reminder: please mark updates to your messages as such, otherwise the thread may get confusing. Better still, post them as a new message (there are always exceptions, e.g. when a definite answer is found, I like to add an update to the root node containing the original question so the answer can be found with ease).

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1000209]
[1nickt]: Although the example given does not produce an error as stated, on my perl.
[1nickt]: perl -wE 'say for map { ... } 1..3;' # "Unimplemented at -e line 1" ... <c>perlsyn says that should throw a syntax error...
[karlgoethebier]: 1nickt: "Edge cases..." Yes, it seems so. Thanks Nick

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (9)
As of 2017-11-18 19:48 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (277 votes). Check out past polls.