monotone-devel
[Top][All Lists]
Advanced

[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'


reply via email to

[Prev in Thread] Current Thread [Next in Thread]