[isabelle-dev] Grouping ISABELLE_FULL_TEST?

Makarius makarius at sketis.net
Mon Feb 1 16:29:15 CET 2016

On Sun, 31 Jan 2016, Lars Hupel wrote:

> As of 527488dc8b90, there are five sessions which contain theories that
> are only processed under ISABELLE_FULL_TEST=true:
> HOL-ex
>    Sudoku
> HOL-Datatype_Examples
>    Brackin
>    IsaFoR
>    Misc_N2M
> HOL-Word-SMT_Examples
>    SMT_Tests
> HOL-Quickcheck_Benchmark
>    Find_Unused_Assms_Examples
>    Needham_Schroeder_No_Attacker_Example
>    Needham_Schroeder_Guided_Attacker_Example
>    Needham_Schroeder_Unguided_Attacker_Example
> HOL-Record_Benchmark
>    Record_Benchmark
> Most of these appear to be benchmarks of some sort.

I've looked a bit through the sources and the history to infer the 
intended semantics.  The condition ISABELLE_FULL_TEST was introduced to 
guard sessions that are slow and relatively irrelevant for meaningful 
testing, typical "benchmarks".

There are also some exceptional situations like HOL/ex/Sudoko.thy and 
AFP/thys/Flyspeck-Tame/ArchComp.thy, but the special case for Sudoko looks 
irrelevant today, so Flyspeck is just a singularity; it needs special 
treatment anyway.

What remains are various benchmarks.  We could move these sessions to 
~~/src/Benchmarks and omit that directory in ~~/ROOTS.  Thus it can be 
included on demand like this:

   isabelle build -d '~~/src/Benchmarks' -a

or like this:

   isabelle build -D '~~/src/Benchmarks'

This avoids more sophisticated Boolean algebra on session groups.  It also 
makes clear from the source structure, what is normally not tested.

I basically do the same with -d '$AFP' all the time.

Meta-remark: I am presently still on the isabelle-release branch, with 
some modifications of ROOT files that still need to be merged back.  This 
explains my reluctance to make bigger changes right now.


More information about the isabelle-dev mailing list