Re: HEADS UP: running tests in /tmp and the `extra_files` setup function

2016-05-17 Thread Thomas Miedema
Is there a way to change where the temporary directory is made?


There is not.

But it shouldn't be necessary, since during a complete test run, (most)
generated files are deleted after each individual test has finished.

This behavior recently changed (#9758), see my previous email about this:
https://mail.haskell.org/pipermail/ghc-devs/2016-April/011976.html
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: HEADS UP: running tests in /tmp and the `extra_files` setup function

2016-05-17 Thread Edward Z. Yang
Hello Thomas,

Is there a way to change where the temporary directory is made?  The
test suite can take a lot of disk space and some of us would prefer
to store the test output on a different partition.

Thanks,
Edward

Excerpts from Thomas Miedema's message of 2016-05-17 09:11:53 -0700:
> Hello GHC developers,
> 
> the testsuite driver now runs each test in a temporary directory in /tmp,
> after first linking/copying all files that the test requires to that
> directory.
> 
> When adding a new test:
> 
> ** if your test requires source files that don't start with the name of
> your test, then you *have to* specify those files using the `extra_files`
> setup function. [1]*
> 
> * you no longer have to specify files to cleanup (`clean_files` and
> `clean_cmd` are deprecated)
> 
> * you no longer have to add generated files to `testsuite/.gitignore`
> 
> * you no longer have to worry about two tests possibly overwriting each
> others intermediate (.o, .hi) files, and you no longer have to
> specify `-outputdir` if you want to let multiple tests use the same source
> files.
> 
> Example:
> 
> *BEFORE:*
> test('driver011',
>  extra_clean(['A011.hi', 'A011.o']),
>  run_command,
>  ['$MAKE -s --no-print-directory test011'])
> 
> *AFTER:*
> test('driver011',
>  extra_files(['A011.hs']),
>  run_command,
>  ['$MAKE -s --no-print-directory test011'])
> 
> See https://ghc.haskell.org/trac/ghc/ticket/11980 and
> https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/Adding for more
> information.
> 
> Cheers,
> Thomas
> 
> [1] Extra files for existing tests are currently listed in
> `testsuite/driver/extra_files.py`.
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: HEADS UP: running tests in /tmp and the `extra_files` setup function

2016-05-17 Thread Ben Gamari
Thomas Miedema  writes:

> Hello GHC developers,
>
> the testsuite driver now runs each test in a temporary directory in /tmp,
> after first linking/copying all files that the test requires to that
> directory.
>
Hmm, it looks like the new paths rather clutter the testsuite summary
produced at the end of the run,


   /tmp/ghctest/jvZ6KB/1/2/3/./indexed-types/should_fail/T3330a  T3330a [stderr 
mismatch] (normal)
   /tmp/ghctest/jvZ6KB/1/2/3/./indexed-types/should_fail/T4174   T4174 [stderr 
mismatch] (normal)
   /tmp/ghctest/jvZ6KB/1/2/3/./indexed-types/should_fail/T4179   T4179 [stderr 
mismatch] (normal)

Perhaps we should strip off the root path from the test names?

Cheers,

- Ben


signature.asc
Description: PGP signature
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


HEADS UP: running tests in /tmp and the `extra_files` setup function

2016-05-17 Thread Thomas Miedema
Hello GHC developers,

the testsuite driver now runs each test in a temporary directory in /tmp,
after first linking/copying all files that the test requires to that
directory.

When adding a new test:

** if your test requires source files that don't start with the name of
your test, then you *have to* specify those files using the `extra_files`
setup function. [1]*

* you no longer have to specify files to cleanup (`clean_files` and
`clean_cmd` are deprecated)

* you no longer have to add generated files to `testsuite/.gitignore`

* you no longer have to worry about two tests possibly overwriting each
others intermediate (.o, .hi) files, and you no longer have to
specify `-outputdir` if you want to let multiple tests use the same source
files.

Example:

*BEFORE:*
test('driver011',
 extra_clean(['A011.hi', 'A011.o']),
 run_command,
 ['$MAKE -s --no-print-directory test011'])

*AFTER:*
test('driver011',
 extra_files(['A011.hs']),
 run_command,
 ['$MAKE -s --no-print-directory test011'])

See https://ghc.haskell.org/trac/ghc/ticket/11980 and
https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/Adding for more
information.

Cheers,
Thomas

[1] Extra files for existing tests are currently listed in
`testsuite/driver/extra_files.py`.
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs