Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

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

by jds17 (Pilgrim)
on Oct 21, 2012 at 14:10 UTC ( #1000220=note: print w/replies, xml ) Need Help??

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

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.
  • Comment on Re^4: How to do automated tests of a database centric CPAN module

Replies are listed 'Best First'.
Re^5: How to do automated tests of a database centric CPAN module
by erix (Parson) on Oct 21, 2012 at 19:35 UTC

    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://1000220]
[perldigious]: karlgoethebier: Well it is a pretty old and complicated (for me) bit of code I wrote (poorly by my current standards), so I'm expecting everything to break when I add the scoping and find out what else is undesireably scope changed. :-)
[perldigious]: Ah, thanks choroba, that sort of thing was precisely what I was wondering when I asked.
[perldigious]: I didn't want to tie up memory unecessarily basically, I wanted to "delete" it specifically to free it up, and wasn't sure I was even accomplishing that.
[stevieb]: perldigious You should start by writing some unit tests. That'll ensure current functionality doesn't break with changes.
[choroba]: unit tests++
[choroba]: The only problem you can't solve by adding more tests is the problem of having too many tests.

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2017-07-21 19:57 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (335 votes). Check out past polls.