[lsb-discuss] TET 3.7 / TET_EXEC_TOOL?

John Connett jrc at skylon.demon.co.uk
Wed Jun 6 14:08:21 PDT 2007


I am hoping to use lsb-tet3-lite-3.7 and parts of the LSB 3.1
Distribution Testkit to test filesystems on optical media.  As these
filesystems may be mounted read-only or may lack some features found
on hard disk filesystems it is important to make a distincton between
the location of the test case executable and the directory on the
target filesystem from which it is executed.

The approach I tried is to add "TET_EXEC_TOOL=exectool" to
TESTROOT/tetexec.cfg with BIN/exectool containing the following:

    #!/bin/sh
    EXEC_DIR=`pwd`
    cd /target
    ${EXEC_DIR}/$*

where /target is the mount point of the target filesystem.  With the
following in the scen.exec file:

    all
            "Just the POSIX.os/files/access test"
            /tset/POSIX.os/files/access/T.access

the journal file produced using the command:

    tcc -p -e -s $HOME/scen.exec test_sets

ends with:

    70||"Just the POSIX.os/files/access test"
    10|0 /tset/POSIX.os/files/access/T.access 16:49:55|TC Start,
    scenario ref 2-0
    50||(jnlproc.c, 206): can't open
    /home/tet/test_sets/TESTROOT/tset/POSIX.os/files/access/tet_xres:
    No such file or directory
    80|0 0 16:49:58|TC End, scenario ref 2-0
    900|16:49:58|TCC End

After running the test the file '/target/tet_xres' exists.

The problem appears to be that the 'tet_xres' is written into the
working directory of the test executable rather than the directory
where the executable is located (which is where tcc expects to find
it).  Clearly this will be bad news when '/target' is read-only!

Any suggestions as to alternative approaches?

The 'exectool' is called with the working directory set to the
location of the test executable so at least it is available.  I have
yet to look at the code of the C API to see if there is a mechanism to
access it from inside.

Thanks in anticipation
--
John Connett




More information about the lsb-discuss mailing list