[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] cygwin & *.exe
From: |
Zbynek Winkler |
Subject: |
Re: [Monotone-devel] cygwin & *.exe |
Date: |
Fri, 16 Jan 2004 23:01:16 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031208 |
Nathaniel Smith wrote:
On Thu, Jan 15, 2004 at 01:02:33PM +0100, Zbynek Winkler wrote:
By inspecting the makefile I've found out that the unit tests are
created by 'make unit_tests.exe'. The resulting log is attached. Seems
to be working well.
What you really want is "make check", which runs both the unit tests
and the integration tests.
Thanks for pointing that out.
I was trying to address the problem with the paths. I've found out that
the boost filesystem library can be built either in POSIX mode or in
WINDOWS mode. By default it is built in WINDOWS mode under cygwin. I
tried the posix mode and part of it started working - ie. when the
database to be created already existed I got the right error but still -
when it did not exist yet it failed to be created. I tracked that down
to being a sqlite issue - it has the same two modes as the boost
filesystem lib. So I went back to using the WINDOWS mode of it. However
it was still reporting errors of the kind
*** Error: std::runtime_error: boost::filesystem::path: invalid name
"d:" in path: "d:/software/mono
tone-0.9/test.db"
I have tracked that one down to. In app_state::set_database there is a
call to db.set_filename that expects *path* but is given *string*. The
path is automaticaly converted to path. However it appears that the
automatic conversion does not support *native* paths. Replacing the call
with db.set_filename(mkpath(filename())); fixed the one of the problems.
The other appeared when the path supplied had more than one part. The
problem is with fs::iterator that returns string. The statement in
file_io.cc in tilde expand
while (i != tmp.end())
res /= *i++;
had to be changed to
while (i != tmp.end())
res /= mkpath(*i++);
for the same reason. I am running the 'make check' now and I'll attach
the output. Only few of the tests fail :-). Could someone inspect them?
There appear to be some cygwin paths involved in the invocation of the
tests but this area is completely opaque to me.
Zbynek
## ------------------------------------------- ##
## monotone 0.9 test suite: integration tests. ##
## ------------------------------------------- ##
testsuite: command line was:
$ ././testsuite
## ---------------- ##
## Tested programs. ##
## ---------------- ##
testsuite.at:12: /cygdrive/d/software/monotone-0.9-cygwin/monotone --version
monotone 0.9
## --------------------------- ##
## Silently running the tests. ##
## --------------------------- ##
testsuite: starting at: Fri Jan 16 22:36:03 CEST 2004
1. t_null.at:3: ok (0m2.190s 0m4.200s)
2. t_scan.at:3: FAILED near `t_scan.at:21' (0m2.190s 0m4.200s)
3. t_import.at:3: ok (0m2.450s 0m3.370s)
4. t_genkey.at:3: ok (0m6.461s 0m8.280s)
5. t_unidiff.at:3: ok (skipped near `t_genkey.at:42') (0m6.461s 0m8.280s)
6. t_persist_phrase.at:3: ok (0m3.430s 0m5.220s)
7. t_versions.at:3: ok (0m23.320s 0m39.070s)
8. t_fork.at:3: ok (0m10.330s 0m16.280s)
9. t_update.at:3: ok (0m4.910s 0m7.310s)
10. t_merge.at:3: ok (0m8.841s 0m10.820s)
11. t_nntp.at:6: ok (skipped near `t_nntp.at:33') (0m8.841s 0m10.820s)
12. t_http.at:6: ok (skipped near `t_http.at:33') (0m8.841s 0m10.820s)
13. t_unidiff2.at:3: ok (skipped near `t_http.at:33') (0m8.841s 0m10.820s)
14. t_cwork.at:3: ok (0m3.050s 0m4.260s)
15. t_revert.at:3: ok (0m15.220s 0m24.260s)
16. t_drop.at:3: ok (0m4.000s 0m6.220s)
17. t_cross.at:3: ok (0m12.560s 0m18.410s)
18. t_rename.at:3: ok (0m8.081s 0m10.680s)
19. t_renamed.at:3: ok (0m8.881s 0m11.690s)
20. t_erename.at:3: ok (0m11.131s 0m14.250s)
21. t_smtp.at:6: ok (skipped near `t_smtp.at:37') (0m11.131s 0m14.250s)
22. t_cvsimport.at:3: FAILED near `t_cvsimport.at:50' (0m11.131s 0m14.250s)
23. t_proxy.at:6: ok (skipped near `t_proxy.at:37') (0m11.131s 0m14.250s)
24. t_i18n_file.at:3: FAILED near `t_i18n_file.at:15' (0m11.131s 0m14.250s)
25. t_fmerge.at:3: ok (skipped near `t_i18n_file.at:15') (0m11.131s
0m14.250s)
testsuite: ending at: Fri Jan 16 22:44:22 CEST 2004
testsuite: test suite duration: 0h 8m 20s
## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##
Failed tests:
monotone 0.9 test suite: integration tests test groups:
NUM: FILENAME:LINE TEST-GROUP-NAME
KEYWORDS
2: t_scan.at:3 scanning trees
22: t_cvsimport.at:3 importing CVS files
24: t_i18n_file.at:3 importing files with a internationalized names
Skipped tests:
monotone 0.9 test suite: integration tests test groups:
NUM: FILENAME:LINE TEST-GROUP-NAME
KEYWORDS
5: t_unidiff.at:3 calculation of unidiffs
11: t_nntp.at:6 communicating with a news server
12: t_http.at:6 communicating with a depot through http
13: t_unidiff2.at:3 calculation of incorrect unidiffs
21: t_smtp.at:6 communicating with a mail server
23: t_proxy.at:6 communicating with a depot through an http proxy
25: t_fmerge.at:3 external unit test of the line merger
## --------------------------------------- ##
## Verbosely re-running the failing tests. ##
## --------------------------------------- ##
## ------------------------------------------- ##
## monotone 0.9 test suite: integration tests. ##
## ------------------------------------------- ##
2. t_scan.at:3: testing scanning trees...
t_scan.at:5: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden db init
stderr:
stdout:
t_scan.at:5: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden read <test_keys
stderr:
monotone: read 2 packets
stdout:
t_scan.at:5: rm test_keys
t_scan.at:7: mkdir foo
t_scan.at:8: mkdir foo/bar
t_scan.at:18: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden add testfile0 foo
stderr:
monotone: adding testfile0 to working copy add set
monotone: adding foo/bar/testfile2 to working copy add set
monotone: adding foo/testfile1 to working copy add set
stdout:
t_scan.at:19: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden --branch=testbranch commit 'blah blah'
stderr:
monotone: committing bcca9cc30adc9c4e9073734075f597225314a6f2 to branch
testbranch
monotone: [bytes: 295] [packets: 1]
monotone: [bytes: 586] [packets: 2]
monotone: [bytes: 876] [packets: 3]
monotone: [bytes: 1177] [packets: 4]
monotone: committed bcca9cc30adc9c4e9073734075f597225314a6f2
stdout:
t_scan.at:20: sha1sum foo/bar/testfile2 foo/testfile1 testfile0
stdout:
85d521304e3660f05bbb458b05d0efc6e981f832 *foo/bar/testfile2
14c5b672e2181377e41e6d8c5ce21457d8342667 *foo/testfile1
5c39de9ca49b3aa34fa21f5778954665d947476c *testfile0
t_scan.at:21: cmp stdout MT/manifest
stdout:
stdout MT/manifest differ: char 42, line 1
t_scan.at:21: exit code was 1, expected 0
2. t_scan.at:3: FAILED near `t_scan.at:21'
22. t_cvsimport.at:3: testing importing CVS files...
t_cvsimport.at:5: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden db init
stderr:
stdout:
t_cvsimport.at:5: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden read <test_keys
stderr:
monotone: read 2 packets
stdout:
t_cvsimport.at:5: rm test_keys
t_cvsimport.at:27: cvs -q -d $CVSROOT init
t_cvsimport.at:28: test -e $CVSROOT
t_cvsimport.at:29: test -e $CVSROOT/CVSROOT
t_cvsimport.at:30: test -e $CVSROOT/CVSROOT/history
t_cvsimport.at:34: cvs -d $CVSROOT co .
stderr:
cvs checkout: Updating .
cvs checkout: Updating CVSROOT
stdout:
? cvs-repository
? importme.0
? importme.1
? importme.2
? importme.3
? test.db
? test_hooks.lua
U CVSROOT/checkoutlist
U CVSROOT/commitinfo
U CVSROOT/config
U CVSROOT/cvswrappers
U CVSROOT/editinfo
U CVSROOT/loginfo
U CVSROOT/modules
U CVSROOT/notify
U CVSROOT/rcsinfo
U CVSROOT/taginfo
U CVSROOT/verifymsg
t_cvsimport.at:35: mkdir testdir
t_cvsimport.at:36: cp importme.0 testdir/importme
t_cvsimport.at:37: cvs -d $CVSROOT add testdir
stderr:
stdout:
Directory
/cygdrive/d/software/monotone-0.9-cygwin/testsuite.dir/22/cvs-repository/testdir
added to the repository
t_cvsimport.at:38: cvs -d $CVSROOT add testdir/importme
stderr:
cvs add: scheduling file `testdir/importme' for addition
cvs add: use 'cvs commit' to add this file permanently
stdout:
t_cvsimport.at:39: cvs -d $CVSROOT commit -m 'commit 0' testdir/importme
stderr:
stdout:
RCS file:
/cygdrive/d/software/monotone-0.9-cygwin/testsuite.dir/22/cvs-repository/testdir/importme,v
done
Checking in testdir/importme;
/cygdrive/d/software/monotone-0.9-cygwin/testsuite.dir/22/cvs-repository/testdir/importme,v
<-- importme
initial revision: 1.1
done
t_cvsimport.at:40: cp importme.1 testdir/importme
t_cvsimport.at:41: cvs -d $CVSROOT commit -m 'commit 1' testdir/importme
stderr:
stdout:
Checking in testdir/importme;
/cygdrive/d/software/monotone-0.9-cygwin/testsuite.dir/22/cvs-repository/testdir/importme,v
<-- importme
new revision: 1.2; previous revision: 1.1
done
t_cvsimport.at:42: cp importme.2 testdir/importme
t_cvsimport.at:43: cvs -d $CVSROOT commit -m 'commit 2' testdir/importme
stderr:
stdout:
Checking in testdir/importme;
/cygdrive/d/software/monotone-0.9-cygwin/testsuite.dir/22/cvs-repository/testdir/importme,v
<-- importme
new revision: 1.3; previous revision: 1.2
done
t_cvsimport.at:44: cp importme.3 testdir/importme
t_cvsimport.at:45: cvs -d $CVSROOT commit -m 'commit 3' testdir/importme
stderr:
stdout:
Checking in testdir/importme;
/cygdrive/d/software/monotone-0.9-cygwin/testsuite.dir/22/cvs-repository/testdir/importme,v
<-- importme
new revision: 1.4; previous revision: 1.3
done
t_cvsimport.at:49: cp test.db test2.db
t_cvsimport.at:50: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden --branch=testbranch cvs_import $CVSROOT/testdir
stderr:
monotone: misuse: path
/cygdrive/d/software/monotone-0.9-cygwin/testsuite.dir/22/cvs-repository/testdir
does not exist
********** errors detected; see standard output for details ***********
stdout:
**** error return code 1
t_cvsimport.at:50: exit code was 1, expected 0
22. t_cvsimport.at:3: FAILED near `t_cvsimport.at:50'
24. t_i18n_file.at:3: testing importing files with a internationalized names...
t_i18n_file.at:5: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden db init
stderr:
stdout:
t_i18n_file.at:5: monotone --rcfile=test_hooks.lua --nostd --norc --db=test.db
address@hidden read <test_keys
stderr:
monotone: read 2 packets
stdout:
t_i18n_file.at:5: rm test_keys
t_i18n_file.at:13: mkdir tmp
t_i18n_file.at:14: touch "tmp/file name with spaces"
stderr:
stdout:
t_i18n_file.at:15: touch "tmp/address@hidden:"
stderr:
touch: creating `tmp/address@hidden:': No such file or directory
stdout:
t_i18n_file.at:15: exit code was 1, expected 0
24. t_i18n_file.at:3: FAILED near `t_i18n_file.at:15'