Plugin Tester (or Wrapper): Difference between revisions
m (SF: neccessary -> necessary.) |
m (Updated author and download links, and changed format of some pages.) |
||
Line 1: | Line 1: | ||
== Links == | == Links == | ||
http://www.darklogic.org/win32/nsis/plugins/plgnTester.0.0.zip | <attach>PlgnTester.0.0.zip</attach><br> | ||
[[Image:Zip.gif]] [http://www.darklogic.org/win32/nsis/plugins/plgnTester.0.0.zip PlgnTester.0.0.zip] (4 KB) (Mirror #1) | |||
== Description == | == Description == | ||
Line 8: | Line 7: | ||
This is a command line program that can be used to | This is a command line program that can be used to | ||
invoke a NSIS plugin. | invoke a NSIS plugin. It supports passing any string | ||
variable on the stack, setting any of the standard | variable on the stack, setting any of the standard | ||
variables (user defined variables are unsupported), | variables (user defined variables are unsupported), | ||
Line 14: | Line 13: | ||
== Usage == | == Usage == | ||
testwrap.exe plugin function {/VAR # str} [args] | testwrap.exe plugin function {/VAR # str} [args] | ||
Plugin is the name of the plugin (or dll) to load, passed | |||
asis to LoadLibrary, so one can omit the .dll and normal | asis to LoadLibrary, so one can omit the .dll and normal | ||
path search should be done, but if in the NSIS plugin | path search should be done, but if in the NSIS plugin | ||
Line 22: | Line 21: | ||
An error message is returned if failed to load. | An error message is returned if failed to load. | ||
Function is the name of the exported function to invoke. | |||
It should be exactly as exported, which should match | It should be exactly as exported, which should match | ||
the name used in a NSIS script. An error message is | the name used in a NSIS script. An error message is | ||
Line 30: | Line 29: | ||
Any number (as permitted by the command line) of /VAR # str | Any number (as permitted by the command line) of /VAR # str | ||
sequences can be included (and in any location on cmd line). | sequences can be included (and in any location on cmd line). | ||
/VAR marks the start of setting a variable. | /VAR marks the start of setting a variable.<br> | ||
# is 0-24, where 0-9 correspond to NSIS variables $0-$9, | <nowiki>#</nowiki> is 0-24, where 0-9 correspond to NSIS variables $0-$9, | ||
and 10-19 correspond to NSIS variables $R0-$R9. | and 10-19 correspond to NSIS variables $R0-$R9. | ||
20-24 are $CMDLINE, $INSTDIR, $OUTDIR, $EXEDIR, $LANGUAGE | 20-24 are $CMDLINE, $INSTDIR, $OUTDIR, $EXEDIR, $LANGUAGE | ||
Line 38: | Line 37: | ||
the stack and passed to the plugin. Strings are pushed on | the stack and passed to the plugin. Strings are pushed on | ||
The stack in opposite order from command line. That is, | |||
pass arguments on the command line in same order as if you | pass arguments on the command line in same order as if you | ||
were invoking the plugin from a NSIS script (calling order, | were invoking the plugin from a NSIS script (calling order, | ||
Line 45: | Line 44: | ||
This is primary meant as a debugging tool, so should be | This is primary meant as a debugging tool, so should be | ||
modified if necessary to the plugin being tested, but | modified if necessary to the plugin being tested, but | ||
should work | should work as it is for some. When using a debugger, one | ||
should compile it with debugging information and the | should compile it with debugging information and the | ||
plugin with debug information, then one can step through | plugin with debug information, then one can step through | ||
them both and/or set break points. | them both and/or set break points. Only the input stack | ||
and variables and then output stack and variables are | and variables and then output stack and variables are | ||
shown. Present version passes NULL for the HWND as no | shown. Present version passes NULL for the HWND as no | ||
Line 56: | Line 55: | ||
easily be used as a wrapper. | easily be used as a wrapper. | ||
Page author: PerditionC | == Contact == | ||
Please send bug reports, suggestions, etc. to jeremyd --at-- | |||
fdos.org. | |||
Page author: [[User:PerditionC|PerditionC]] |
Revision as of 12:43, 23 April 2005
Links
PlgnTester.0.0.zip (4 KB)
PlgnTester.0.0.zip (4 KB) (Mirror #1)
Description
plgntester - NSIS Plugin Tester v0.00
This is a command line program that can be used to invoke a NSIS plugin. It supports passing any string variable on the stack, setting any of the standard variables (user defined variables are unsupported), and can invoke any specified function in given plugin.
Usage
testwrap.exe plugin function {/VAR # str} [args]
Plugin is the name of the plugin (or dll) to load, passed asis to LoadLibrary, so one can omit the .dll and normal path search should be done, but if in the NSIS plugin directory, you will need to explicitly provide its path. An error message is returned if failed to load.
Function is the name of the exported function to invoke. It should be exactly as exported, which should match the name used in a NSIS script. An error message is returned if function is not found or other error obtaining its procedure address.
Any number (as permitted by the command line) of /VAR # str
sequences can be included (and in any location on cmd line).
/VAR marks the start of setting a variable.
# is 0-24, where 0-9 correspond to NSIS variables $0-$9,
and 10-19 correspond to NSIS variables $R0-$R9.
20-24 are $CMDLINE, $INSTDIR, $OUTDIR, $EXEDIR, $LANGUAGE
The remaining arguments (if any) are the strings pushed onto the stack and passed to the plugin. Strings are pushed on
The stack in opposite order from command line. That is, pass arguments on the command line in same order as if you were invoking the plugin from a NSIS script (calling order, which should match order plugin pops them).
This is primary meant as a debugging tool, so should be modified if necessary to the plugin being tested, but should work as it is for some. When using a debugger, one should compile it with debugging information and the plugin with debug information, then one can step through them both and/or set break points. Only the input stack and variables and then output stack and variables are shown. Present version passes NULL for the HWND as no window is created, though if requested, a future version may add the necessary window. Future versions may also add a /QUIET or /VERBOSE option allowing this to more easily be used as a wrapper.
Contact
Please send bug reports, suggestions, etc. to jeremyd --at-- fdos.org.
Page author: PerditionC