Hello world,
I am working in some test cases for LTTng/TMF and have several ideas, I would like to collect some comments from the real world before delving any further. The code I write in this will be released on the list of course.

Real world test cases.

The reference trace should have something that creates threads, has thread exits and renames (can't fiind the posix command for that one yet)
File access is a must.
So is a stream to a device, I will probably make an audio/network stream.
Mallocs/frees


Synthetic tests:
The thread must reach each of these states at least once.

Dead ( after a zombie?)

User Mode (?)

Syscall (printf?)

IRQ (?)

Trap (?)

Wait (Sleep/Wait for mutex?)

Unnamed (Spawn don't name yet?)

Wait fork (Spawn, is there a way to delay this?)

Wait Cpu (?)

Exit (Join?)

Zombie... grrrr... argh...
<Code>

#include<sys/wait.h>
#include<stdlib.h>
#include<unistd.h>

int  main(void)
{
        pid_t pids[10];
        int  i;

        for  (i=  9;  i>=  0;  --i)  {
                pids[i]  =  fork();
                if  (pids[i]  ==  0)  {
                        sleep(i+1);
                        _exit(0);
                }
        }

        for  (i=  9;  i>=  0;  --i)
                waitpid(pids[i],  NULL,  0);

        return  0;
}

</Code>

Soft IRQ (?)

Finally, the test should be as small as possible, preferably under 50k events on a single core system.

Any suggestions on how to reach all of these states?

Thank you,
Matthew

_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev

Reply via email to