Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/tests/syscall

On 5/22/11 12:18 AM, Christos Zoulas wrote:
On May 21, 10:31pm, (Julio Merino) wrote:
-- Subject: Re: CVS commit: src/tests/syscall

| Sounds like a good idea.  Note that there is *many* more things that
| will not work.  The test case will dump garbage in the current directory
| and it won't be cleaned, the environment won't be sanitized, child
| processes won't be killed...

It could mention all of them.

atf-test-case(4) contains a description of these. (Yeah, it could be improved.)

| Tests used to do exactly that more than a year ago, but it turned out to
| be a bad idea...
| The test programs were extremely complex: they had to implement all the
| test case isolation (work directory, timeouts, etc.) themselves, and
| that meant having to implement the same thing in C, C++ and shell.

I don't see why. You just put it all in a shared library written in c and
used from c++. Shell you have already.

That's what was done. But in order to enforce the timeouts et. al. this library had to fork() on every test case. This was really, really ugly (and slow) in shell. It was also hard to keep the 3 implementations (c, c++, shell) in sync.

I'm not saying it's not possible, just that it was ugly _in the past_. We can revisit this later. The renewed runtime I'm working on (atf v2, aka kyua) will support different test program styles, so we should be able to easily re-experiment with this approach.

Home | Main Index | Thread Index | Old Index