On 1/10/2016 4:48 PM, Joe Mistachkin wrote:
Ross Berteig wrote:
I added --with-th1-docs and --with-th1-hooks to my configure, and
th1-hooks.test blew up, all tests failed by complaint about no
repository. Looks like it either needs to run in tree or to have a
suitable repository built up for it to use with repo_init and
possibly more.
Those test files should work from outside of the tree now.
Since th1-docs.test actually required that TCL integration be present to
test anything (without, it say 0 errors of 0 tests), I turned on TCL
integration in my build, which revealed a build system quirk.
Looks like it is well known that --with-tcl leads to madness unless also
used with --with-tcl-private-stubs and --with-tcl-stubs. So after
remember that and finding email confirming that on list, I probably
didn't really need to have installed tcl-dev and tcl-docs to my Ubuntu.
Won't hurt to have them, mind you, but it is possible that the selection
of options and their defaults to ./configure need revisiting.
The actual issue I found is that when configured with --with-tcl and
stubs, it won't build out-of tree.
$ mkdir build; cd build
$ ../work/configure --with-openssl=none --with-tcl --with-tcl-stubs
--with-tcl-private-stubs
$ make
....
cc -I. -I../work/src -Ibld -DFOSSIL_DYNAMIC_BUILD=1
-Icompat/tcl-8.6/generic -O2 -DHAVE_AUTOCONFIG_H -D_HAVE_SQLITE_CONFIG_H
-o bld/add.o -c bld/add_.c
In file included from ../work/src/add.c:22:0: bld/add.h:11:17: fatal
error: tcl.h: No such file or directory
...
make: *** [bld/add.o] Error 1
$
Comparing this to an in-tree build with the same configuration, I note
that the -Icompat/tcl-8.6/generic flag is the same in both builds, and
obviously cannot work out-of-tree since there is no such folder. I
dropped a symbolic link from my build tree into the repo, and the build
succeeds.
I'm sure the right answer is for the Makefile to use a path relative to
the src folder, but I'm not sure where the right place to fix
./configure and that nest of worms really is.
For even more fun, try enabling Tcl integration and running the
"th1-tcl.test" file...
Now that I have TCL enabled, I did that, and it reports 1 errors out of
17 tests. The failure is th1-tcl-2.
On a positive note, th1-docs and th1-hooks report all 19 tests pass for me.
However, since I have a fresh build with a new configuration, I re-ran
the whole suite, and some cases that previously passed are now failures.
* merge-utf-27-23
* merge-utf-27-32
* merge_multi-4
* merge_renames-5
* th1-tcl-2
* th1-trace-2
* th1-trace-4
* th1-info-commands-1
* th1-info-vars-1
* th1-info-vars-2
* th1-info-vars-3
* th1-info-vars-5
After than point, it hit utf.test, and threw an execution error:
can't set "data(0)": variable isn't array
while executing ....
(file "/home/ross/fossiltest/work/test/utf.test" line 60)
....
$
I reconfigured without th1-hooks, th1-docs or TCL integration, built,
and utf.test runs with no errors and all tests pass.
So it looks like turning on the TCL integration broke something in
utf.test. I'll attempt to look at that further in the morning, if
someone in another time zone hasn't beat me to it.
Also, while working on the th1-hooks test, I found a real issue with
the timeline command (typo).
Cool. Hate to have bugs, but it is nice to have test cases that find
them when they sneak in!
--
Ross Berteig r...@cheshireeng.com
Cheshire Engineering Corp. http://www.CheshireEng.com/
+1 626 303 1602
_______________________________________________
fossil-dev mailing list
fossil-dev@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/fossil-dev