Jean Privat [Mon, 22 Oct 2012 18:22:08 +0000 (14:22 -0400)]
modelbuilder: do not crash if nclassdef.mclass is not defined
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Oct 2012 20:22:33 +0000 (16:22 -0400)]
lib: fix "--" handling in opts
For some unknown reason,
8d335db5 removed the line.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Oct 2012 20:24:56 +0000 (16:24 -0400)]
modelbuilder: check inherited signature arity before trying to inherit the type of the parameters
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Oct 2012 20:23:45 +0000 (16:23 -0400)]
modebuilder: fix some error messages
Add "Error" to messages and avoid using warning for real errors.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 20:02:14 +0000 (16:02 -0400)]
nitg: fix a "NOT YET IMPLEMENTED" message
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 17:38:00 +0000 (13:38 -0400)]
tests: cleanup .gitignore
all temporary result files must be generated in out/
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 17:37:17 +0000 (13:37 -0400)]
tests: tests_icode.sh generates files in out/
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 17:21:57 +0000 (13:21 -0400)]
tests: make Object an interface to avoid constructor conflict
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 17:32:18 +0000 (13:32 -0400)]
tests: suppr a depreciated test
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 17:14:37 +0000 (13:14 -0400)]
tests: add options --[no]soso
the options --soso et --nososo enable/disable the sosoing.
When disabled, soso are considered a big fail.
By default, --soso is disabled for nitc and activated for nitg and niti
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 15:37:21 +0000 (11:37 -0400)]
tests: update sav file broken by 5c50ab8
Those tests where broken because of a silent sosoing.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 15:27:17 +0000 (11:27 -0400)]
tests: accepts various sav/* files
Multiple save files can be accepted as valid.
Specific result for an engine goes to sav/$engine/
Expected failures (fixmes) goes to sav/fixme/ or sav/$engine/fixme/
All result files are experted to have a .res extension (old .sav and
.fail extensions are still sometime accepted for compatibility)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Oct 2012 04:05:51 +0000 (00:05 -0400)]
tests: can add a file $engine.skip to skip many tests
*.skip files can be used to indicate patterns of files that should be
skipped for the given engine.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 11 Oct 2012 02:44:35 +0000 (22:44 -0400)]
nitg: add libraries *after* objects that use them
Same bug play again. See commits
60311423da4a and
e926c569d7d6.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 11 Oct 2012 02:40:34 +0000 (22:40 -0400)]
Merge 'separate_nitg'
Jean Privat [Wed, 26 Sep 2012 19:45:07 +0000 (15:45 -0400)]
nitg: ad hoc separate compiler stub module
separate_compiler refines global_compiler to add a simulated separate
compilation process.
A new option --separate is also added to nitg.
Currently this does not even generate a valid C code for
examples/hello_world.nit but C for ests/base_simple3.nit is valid
(but nonfunctional).
Many parts are missing, especially the computation of tables and the
implementation of the main OO mechanisms.
The short therm usage of this code is to help the evaluation of subtyping
implementations of OO language.
Eventually, the code could be the base of a cleaner naive separate
compiler (in order to replace the current nitc).
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 2 Oct 2012 20:02:12 +0000 (16:02 -0400)]
Merge branch 'alexandre/inf7741'
Alexandre Terrasa [Tue, 2 Oct 2012 16:12:27 +0000 (12:12 -0400)]
nit: Add incremental typing to interpretor
tests: Update test for Nit
Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>
Alexandre Terrasa [Tue, 2 Oct 2012 16:03:44 +0000 (12:03 -0400)]
nit: introduce interpretor type test with dynamic loading
Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>
Alexandre Terrasa [Tue, 2 Oct 2012 16:03:08 +0000 (12:03 -0400)]
nit: clean run_naive_interpretor method
Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>
Alexandre Terrasa [Mon, 1 Oct 2012 19:36:31 +0000 (15:36 -0400)]
lib: Math::Int add binaries operations and, or, xor
Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>
Jean Privat [Tue, 2 Oct 2012 09:41:11 +0000 (05:41 -0400)]
Merge remote-tracking branch 'origin/pu/clean_nitg'
Jean Privat [Tue, 2 Oct 2012 09:40:01 +0000 (05:40 -0400)]
Merge remote-tracking branch 'origin/pu/opts'
Jean Privat [Wed, 26 Sep 2012 19:13:12 +0000 (15:13 -0400)]
nitg: add GlobalCompilerVisitor::monomorphic_send
Can be used for send when the dynamic type is known.
The implementation just do the selection then call
GlobalCompilerVisitor::call
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 26 Sep 2012 15:45:46 +0000 (11:45 -0400)]
nitg: split run_global_compiler to write_and_make
The point is to separate the generation of the C code to its effective
writing on disk on its compilation
A future separate compiler may reuse the writing-and-compilation part.
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Pennetier [Tue, 26 Jun 2012 20:23:18 +0000 (16:23 -0400)]
opts: get_errors function instead of check_errors.
Alexandre Pennetier [Mon, 11 Jun 2012 21:01:26 +0000 (17:01 -0400)]
opts: handling for packed short options
Signed-off-by: Alexandre Pennetier <alexandre.pennetier@me.com>
Alexandre Pennetier [Mon, 11 Jun 2012 20:57:52 +0000 (16:57 -0400)]
opts: errors gathered into OptionContext class
Signed-off-by: Alexandre Pennetier <alexandre.pennetier@me.com>
Alexandre Pennetier [Mon, 11 Jun 2012 20:46:32 +0000 (16:46 -0400)]
opts: error when unexpected value for an enum
Signed-off-by: Alexandre Pennetier <alexandre.pennetier@me.com>
Alexandre Pennetier [Mon, 11 Jun 2012 20:43:14 +0000 (16:43 -0400)]
opts: error when lack of a mandatory parameter
Signed-off-by: Alexandre Pennetier <alexandre.pennetier@me.com>
Alexandre Pennetier [Fri, 21 Sep 2012 19:06:14 +0000 (15:06 -0400)]
opts: error when lack of a mandatory option
Signed-off-by: Alexandre Pennetier <alexandre.pennetier@me.com>
Jean Privat [Fri, 24 Aug 2012 15:47:20 +0000 (11:47 -0400)]
nitg: do not use RuntimeVariable#mtype when we have better
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 24 Aug 2012 13:22:45 +0000 (09:22 -0400)]
nitg: generate BOX_xxx to factorize code
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 23 Aug 2012 13:46:49 +0000 (09:46 -0400)]
nitg: generated main returns 0 on success
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 23 Aug 2012 02:24:39 +0000 (22:24 -0400)]
nitg: warn conflicting propdefs on GlobalCompilerVisitor#send
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 23 Aug 2012 02:13:21 +0000 (22:13 -0400)]
nitg: correctly handle the calls == and != on a nullable receiver
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 23 Aug 2012 02:11:50 +0000 (22:11 -0400)]
nitg: use mcasttype instead of mtype in autoadapt
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 17:46:52 +0000 (13:46 -0400)]
nitg: use CustomizedRuntimeFunction#c_name instead of copying it
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 17:33:31 +0000 (13:33 -0400)]
nitg: do not treat new_var on MNullType distinctly
This part of code dates from a time where mtype was a MClassType
instead of a MType.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 17:29:48 +0000 (13:29 -0400)]
nitg: assert that types of RuntimeVariable are not anchored
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 16:30:47 +0000 (12:30 -0400)]
nitg: move compile_to_c from MMethodDef to CustomizedRuntimeFunction
Now, MMethodDef is unrelated to customization stuff.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 15:20:22 +0000 (11:20 -0400)]
nitg: remove the argument `modelbuilder` in compile_to_c
the modelbuilder is already accessible by the `compiler` argument.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 15:19:22 +0000 (11:19 -0400)]
nitg: use MMethodDef#compile_inside_to_c in MMethodDef#compile_to_c
thus remove a copy-paste.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 15:13:55 +0000 (11:13 -0400)]
nitg: split RuntimeFunction to CustomizedRuntimeFunction
The idea is to allow RuntimeFunction to have more subtypes like
customization on the full signature or non-customized versions
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 14:48:49 +0000 (10:48 -0400)]
nitg: add some documentation
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 10:54:22 +0000 (06:54 -0400)]
nitg: move collect_types_cache to the GlobalCompiler
There is one GlobalCompilerVisitor per C function, therefore having
the cache here was stupid.
GlobalCompiler is a singleton and is better suited to manage the cache.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 22 Aug 2012 13:03:59 +0000 (09:03 -0400)]
nitg: execute make with -B
We use `make' as a simple parallel shell script.
However do not rely on the fact that source files could be time related
with object files.
Without -B some compilations fail because unrelated .o files may exists
while the .c file is older (eg. native files).
Thus -B forces the C compilation to be tried.
The C compilation is still fast in the recompilation case thanks to ccache.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 12 Aug 2012 15:17:47 +0000 (11:17 -0400)]
newmm: parse literal floats using String#to_f
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 12 Aug 2012 15:17:07 +0000 (11:17 -0400)]
lib: implements String#to_f as a legacy extern method (using atof)
niti/nitg cannot use the native interface of Alexis.
So it is better this way for the moment.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 12 Aug 2012 14:10:10 +0000 (10:10 -0400)]
typing: check literal ranges uses discrete types
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 12 Aug 2012 13:53:18 +0000 (09:53 -0400)]
nitc: cannot instantiate a nullable type
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 12 Aug 2012 13:44:00 +0000 (09:44 -0400)]
typing: check use of protected methods
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 12 Aug 2012 13:18:14 +0000 (09:18 -0400)]
nitc: allow homonymous non-nested labels
old specification was odd.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 11 Aug 2012 21:12:31 +0000 (17:12 -0400)]
typing: better handling of for forms
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 11 Aug 2012 21:11:57 +0000 (17:11 -0400)]
modeflbuilder: do not crash if a mclassdef cannot be created
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 11 Aug 2012 20:23:21 +0000 (16:23 -0400)]
modelbuilder: check redef signature in getter/setter
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 23:12:25 +0000 (19:12 -0400)]
mmbuilder: reject covariant definition of attributes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 12 Aug 2012 02:19:39 +0000 (22:19 -0400)]
Merge branch 'nonitc_ni' into master
Jean Privat [Sat, 11 Aug 2012 03:43:46 +0000 (23:43 -0400)]
nitg: add clean rule in generated Makefile
It is intended to by only used by developers of nitg.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 11 Aug 2012 03:37:17 +0000 (23:37 -0400)]
nitg: separately compile extern files
they are compiled in .nit_compile/ as `xxx.num.o`.
eg.
.nit_compile/hello_world.2.o: lib/standard/file_nit.c
$(CC) $(CFLAGS) -D NONITCNI -c -o .nit_compile/hello_world.2.o lib/standard/file_nit.c
it is better than compiling them during the link.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 11 Aug 2012 03:33:57 +0000 (23:33 -0400)]
ni: use macro NONITCNI to disable nitni in extern files
nitg uses cc with -D NONITCNI thus can compile those .h/.c files
without breaking.
NONITCNI also means that nitg no more relies on ._nitni files generated
by nitc.
Thus nitg also drops -I in cc.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 10 Aug 2012 18:06:42 +0000 (14:06 -0400)]
Merge branch 'optim_nitg'
Jean Privat [Fri, 10 Aug 2012 18:00:05 +0000 (14:00 -0400)]
Merge branch 'optim_niti'
Jean Privat [Fri, 10 Aug 2012 03:49:28 +0000 (23:49 -0400)]
niti: add NaiveInterpreter#collect_attr_propdef
used to factorise and cache attr initialization&check
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 10 Aug 2012 02:58:35 +0000 (22:58 -0400)]
niti: add class MutableInstance
Instance become abstract
The point of this patch is to avoid the attributes hashmap
in primitive classes.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 31 Jul 2012 04:23:35 +0000 (00:23 -0400)]
niti: check signature arity on send
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 31 Jul 2012 02:38:38 +0000 (22:38 -0400)]
niti: implements ADeferredMethPropdef#call
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 19 Jul 2012 05:14:24 +0000 (01:14 -0400)]
typing: add ASendExpr#raw_arguments
make compute_raw_arguments private
and computes raw_arguments after its call
this improve previous users of compute_raw_arguments (niti ant nitg) that
may need to get args more than once
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 19 Jul 2012 01:46:34 +0000 (21:46 -0400)]
niti: cache the frame in a local variable
expr and stmt are the most called methods.
Storing a result of a non trivial call makes sense.
Figures:
$ time ./nit test_parser.nit test_parser.nit > /dev/null
Before: user 0m8.221s
After: user 0m7.924s
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 21:16:27 +0000 (17:16 -0400)]
run_bench: add "nitc --global" to bench_engines()
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 21:15:56 +0000 (17:15 -0400)]
run_bench: use 'local' vor local variables
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 20:57:11 +0000 (16:57 -0400)]
run_bench: no not force bohem on nitc for bench_engines()
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 20:46:33 +0000 (16:46 -0400)]
run_bench.sh: new function bench_compilation_time
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 20:46:17 +0000 (16:46 -0400)]
nitg: activate bohem since executables are efficient enough
Lasts benchs shows that nitc with nitgc and nitg with bohem can compete
(with often a slight advance for nitg)
$ ./nitg nitg.nit --no-cc
34.12
$ ./nitg.bin nitg.nit --no-cc
27.71
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 19:49:55 +0000 (15:49 -0400)]
nitg: do not expose EscapeMark#object_id in generated C
This breaks ccache recompilations
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 19:49:12 +0000 (15:49 -0400)]
nitg: do not expose RuntimeVariable#object_id in generated C
This breaks ccache recompilations
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 7 Aug 2012 17:50:31 +0000 (13:50 -0400)]
nitg: skip empty sub-strings in superstrings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 6 Aug 2012 23:36:50 +0000 (19:36 -0400)]
valgrind.sh: use malloc instead of large
We do not want unpredictable GC invocation when the large buffer is reached.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 6 Aug 2012 21:36:19 +0000 (17:36 -0400)]
nitg: improve RuntimeVariable#inspect
and use it is all generated comments
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 6 Aug 2012 21:08:57 +0000 (17:08 -0400)]
nitg: self type in implicit init is exact
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 6 Aug 2012 20:50:59 +0000 (16:50 -0400)]
new script run_bench.sh
This script helps to run benchmarks against the nit engines.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 28 Jul 2012 23:30:57 +0000 (19:30 -0400)]
nitg: because of customization, self is exact
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 27 Jul 2012 22:16:50 +0000 (18:16 -0400)]
nitg: "onces" literal strings
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 21 Jul 2012 17:35:15 +0000 (13:35 -0400)]
nitg: implements ADeferredMethPropdef#compile_to_c
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 24 Jun 2012 21:02:05 +0000 (17:02 -0400)]
nitg: add RuntimeVariable#is_exact
Used to indicate that the dynamic type of some variables is known.
Easy cases are the direct result of instantiations.
Not that collect_types_cache can only be used fo non exact types
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sun, 24 Jun 2012 20:18:13 +0000 (16:18 -0400)]
nitg: add option --hardening
without hardening, last element of a switch is made default.
Note that single-case switch is optimized by the c compiler.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 6 Aug 2012 20:39:30 +0000 (16:39 -0400)]
Merge remote-tracking branch 'pratchett/tests'
Jean Privat [Thu, 2 Aug 2012 18:32:33 +0000 (14:32 -0400)]
nitg&niti: add a "Runtime error" prefix like nitc
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 18:16:31 +0000 (14:16 -0400)]
clib: prefix runtime errors with "Runtime error"
and update tests
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 17:47:28 +0000 (13:47 -0400)]
tests: add niti and nitg Makefile rules
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 17:44:57 +0000 (13:44 -0400)]
tests: add option --noskip
with --noskip, the .skip files are ignored
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 17:39:11 +0000 (13:39 -0400)]
tests: allow skipping tests based on engines
some tests/alternatives/inputs are automatically skipped by the engines
listed in sav/$f.skip
skipping is set because some tests takes to much time (or hang) on
some engines
also register some tests to skip.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 17:27:59 +0000 (13:27 -0400)]
tests: differentiate the engine and the binary name
'niti' is the engine name
'nit' is the binary name
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 16:40:31 +0000 (12:40 -0400)]
tests: re-distinquish compilation errors.
was removed to allow using niti in a quick-and-dirty way.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 15:55:41 +0000 (11:55 -0400)]
tests: specific execution if $engine==nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 15:54:54 +0000 (11:54 -0400)]
tests: add option --engine
--engine allow to use a specific execution engine (nit, nitg, nitc, etc)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 15:18:15 +0000 (11:18 -0400)]
tests: add --tap
./tests.sh --tap produce TAP output.
see http://testanything.org for details
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 03:10:16 +0000 (23:10 -0400)]
tests: recognize "NOT YET IMPLEMENTED"
Tests that fails but include the string "NOT YET IMPLEMENTED"
are considered to be expected fails.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 03:09:21 +0000 (23:09 -0400)]
model, niti, nitf: unify NOT YET IMPLEMENTED
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 2 Aug 2012 02:34:56 +0000 (22:34 -0400)]
tests: update sav to remove soso
the alterner transition is now complete.
Signed-off-by: Jean Privat <jean@pryen.org>