| -*- text -*- |
| |
| TRANSLATING PARAMETER LISTS |
| |
| The argument-reductions laws of the SWIG bindings something go like |
| this: |
| |
| - Python functions don't return errors. They throw exceptions. |
| Which means that... |
| |
| - ...Python functions will return the "other" stuff that the C |
| functions "return" instead. C functions which populate |
| pointers with new data (you know, values that are returned to |
| the caller, but not as "return values") will return those |
| values directly in Python. So: |
| |
| error = foo (object **returned_obj, int blah); |
| |
| becomes: |
| |
| try: |
| returned_obj = foo (blah) |
| except: |
| # handle it |
| |
| - Callback function/baton pairs get reduced to just callback |
| functions, and the benefit you get from batons is gotten |
| instead through Python default arguments: |
| |
| error = foo (callback_t function, void *baton); |
| |
| becomes: |
| |
| try: |
| def function(callback_arg1, ..., userdata1=whatever, ...): |
| # do stuff here |
| foo(function) |
| except: |
| # handle it |
| |
| |
| RUNNING THE TESTS |
| |
| $ cd subversion/bindings/swig/python |
| $ python ./tests/run_all.py --help |
| $ python ./tests/run_all.py [TEST...] |
| |
| where TEST can be the name of a test suite ('core', 'mergeinfo', |
| 'client', etc.), or see '--help' for other options. The default is to |
| run the tests in all modules. |