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

Reply via email to