[R-sig-QA] Re: QA tools -- R-SIG-QA mailing list

Martin Maechler maechler at stat.math.ethz.ch
Tue Oct 30 16:12:01 CET 2001


>>>>> "KH" == Kurt Hornik <Kurt.Hornik at ci.tuwien.ac.at> writes:
>>>>>         (Sat, 27 Oct 2001 )

    KH> QA-Siggers, Here is a description of changes related to QA tools
    KH> that I am planning on implementing in the very near future.  It is
    KH> more an explanation why than an RFC, but of course pls cry out in
    KH> case you don't like what I am about to do.

    KH> * We already discussed the idea of moving the QA tools and more
    KH> into a separate standard add-on package called `tools' (before
    KH> 1.4).  Will do this now, describing the new package as `Tools for
    KH> package development and administration'.  The following QA tools
    KH> will be moved into the new package:

    KH> 	codoc undoc checkAssignFuns checkDocArgs checkDocStyle
    KH> checkFF checkMethods checkTnF

    KH>   src/scripts/check.in, tests/Makefile.in and the docs will be
    KH> updated accordingly.

thank you, Kurt.
As we know this has happened in the mean time.

I've used the occasion to have a first message for the 
  R-SIG-QA mailing list,
  R Special Interest Group on  Quality Assurance (of the R project)

which I had created several weeks ago on Kurt's request.

A reminder to all of R-core :
  http://www.stat.math.ethz.ch/mailman/listinfo

lists the current R-SIGs (plus additional mailman lists from here, but
			  there aren't any real ones currently).

http://www.stat.math.ethz.ch/mailman/roster/r-sig-qa
gives the current list of subscribers (that I've added manually),
Kurt, Fritz, Peter, Brian and myself.  This all happened late summer after
Kurt's proposal, and then was subsequently `half forgotten' (as some of the
other SIGs have been too.. (hint, hint!).

Note that all the SIGs are open for "the public" but we (at DSC 2001) had
agreed to not advertize them really.  All this is open for discussion.


    KH> * Now for the real stuff.  John recently pointed out that codoc
    KH> results on package methods are strange, as they ignore the fact
    KH> that methods *must* be installed as a save image, which creates
    KH> additional S code objects (which codoc currently cannot find as it
    KH> only looks at the S source code).  Hence, for some packages the old
    KH> philosophy of getting the S source code in package into one file
    KH> and then reading this into a special environment does not work.

    KH>   (Note that there were two main reasons for doing things this way:
    KH> we could work on the *sources* and hence not rely on
    KH> installability, and the test would not interfere with a live R
    KH> session, and hence could also be done from the prompt.)

    KH>   In fact, even loading a save image into a special environment is
    KH> not necessarily good enough, as .First.lib also might add S
    KH> objects.  In a nutshell, this means that we need versions of codoc
    KH> and friends that `fully' load a package.

    KH>   No basic problem thus far, but there is a catch: many of these
    KH> tests also need access to the documentation `objects' in the
    KH> package; the rendered versions (text etc) are not good enough.
    KH> Hence, to make `live' checking work,

    >>>> We have to *** INSTALL *** the .Rd files. <<<

[gulp! .. but I agree ]

    KH>   Conceptually, this means providing run-time access to
    KH> documentation objects, which we need to do anyway: currently the
    KH> .Rd format is the best representation we have (future version might
    KH> e.g. have them in XML or .rda format).

    KH> * Some details:

    KH>   ** When installing Rd files, we could keep the platform specific
    KH> subdirs for the time being.  I'd rather not do this: installed
    KH> packages are always platform specific.

    KH>   ** It is not entirely clear how much of the `do not interfere
    KH> with a live session' philosophy can or should be kept when using
    KH> the run time form of the checks.  My current approach would be
    KH> simple, e.g. codoc(package = "foo") would

    KH>      *** detach an already attached version of foo, with a warning;

    KH>      *** attach package foo; which may result in additional
    KH> packages being attached;

    KH>      *** run the tests.

    KH>      *** on exit, one could try to `restore' the session,
    KH> i.e. detach everything that was attached by the check, and
    KH> re-attach an originally attached version of the package.

    KH>      I'd rather not start playing with the cleanups now---does
    KH> anyone think this would be needed at all?  Most of the time we will
    KH> run the tests via R CMD check, so there will be no live session.

    KH>   ** The run time version would also overcome some of the problems
    KH> reported e.g. by P Gilbert with conditional code in a package.

    KH> Enough said.  If anyone thinks that we should not install the Rd
    KH> files (or spin off the QA stuff into package tools), pls yell soon
    KH> ...

Thanks a lot, Kurt, for building this up!
Martin



More information about the R-sig-QA mailing list