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

Re^7: Introspecting function signatures

by Corion (Patriarch)
on Mar 06, 2021 at 21:02 UTC ( [id://11129212]=note: print w/replies, xml ) Need Help??

in reply to Re^6: Introspecting function signatures
in thread Introspecting function signatures

I would use local for that:

{ local $tempdir = '/tmp/foo'; test_someting(); }

Most likely you need to wrap all these test_something(...) function calls anyway with your code, and that's a good place to set up the localized test fixtures as well.

I'm wondering a bit how you plan to handle one such function calling another function. Should the fixtures be recreated or not?

sub test_someting2( $tempdir, $aValue ) { if( $^O !~ /mswin/i ) { test_someting("$tempdir/$aValue"); } else { test_someting("$tempdir\\$aValue"); }; }

Replies are listed 'Best First'.
Re^8: Introspecting function signatures
by szabgab (Priest) on Mar 06, 2021 at 21:13 UTC
    You would not call test functions by yourself, the system would do. In this specific case you'd use File::Spec anyway.

    What is interesting in this case might be how to skip tests. I think the usual SKIP would work inside the test functions, but there might be some way to mark test functions to be skipped conditionally. Pytest uses "decorators" for this.

    @pytest.mark.skipif(sys.platform != 'darwin', reason="Mac tests") def test_func(): ...

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11129212]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2024-04-13 06:03 GMT
Find Nodes?
    Voting Booth?

    No recent polls found