On 9/13/06, Matthew Sachs <[EMAIL PROTECTED]> wrote: > Support for package test suites has been implemented in HEAD. Test > suites will be run when building in maintainer mode (e.g. fink -m > build foo). To add a test suite to your package, add an InfoTest > field which contains a TestScript. The TestScript should exit with > status 0 to indicate success, 1 to indicate a "warning", and any > other status for a fatal error. For instance: > > InfoTest: << > TestScript: << > make check || exit 2 > << > << > > Let me know if you have any questions about or problems with this > feature. InfoTest blocks will be safely ignored by versions of Fink > which don't understand them. I'll be running test suites in future > world builds. Full documentation follows. > > > Introduced in fink 0.25. This field encapsulates information that > will only be used when performing a build with test suites enabled. > It contains other fields. If present, this field must contain a > TestScript. All other fields are optional. The following fields are > allowed inside InfoTest: > > *TestScript: A script which runs the test suite. This script should > exit with status 0 if the suite passes, 1 to indicate warnings, or > any other value to indicate failures serious enough to be considered > fatal. Because of this tri-state logic, you should explicitly set an > exit value in this script. For instance, "make check" is a bad > script, since it will exit with status 1 if the check target doesn't > exist. "make check || exit 2" would be a better script. > > *TestConfigureParams: A value which will be appended to ConfigureParams. > > *TestDepends and TestConflicts: Lists of packages that will be added > to the BuildDepends or BuildConflicts lists. > > *TestSource: Extra sources necessary to run the test suite. All of > the affiliated fields are also supported, so you must also specify > TestSource-MD5, and you may also have TestSourceN and corresponding > TestSourceN-MD5, TestTarFilesRename, etc. > > *TestSuiteSize: Describes approximately how long the test suite takes > to run. Valid values are "small", "medium", and "large". This field > is currently ignored. > > *Any other standard field. If a field is specified both inside and > outside InfoTest, the value inside InfoTest will replace the other > value when test suites are active. > > > -- > Matthew Sachs <[EMAIL PROTECTED]> > Compiler Quality Engineer > IRC: msachs AIM: MattSachs > >
I found a few oddities: 1) The validator for HEAD fink now complains about a missing TestScript in any .info without an InfoTest field: $ fink validate /sw/fink/10.4/local/injected/finkinfo/fink.info Validating package file /sw/fink/10.4/local/injected/finkinfo/fink.info... Use of uninitialized value in split at /sw/lib/perl5/Fink/Services.pm line 170. Error: Required field "testscript" missing from InfoTest. (fink.info) Warning: Description contains package name. (fink.info) 2) It looks like you can put fields inside an InfoTest block that shouldn't be there and the package will validate, e.g. a valid Splitoff or another InfoTest block. (I didn't try to build the package with these in place). -- Alexander K. Hansen Fink Documenter (still) ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Fink-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fink-devel
