Steven Murdoch
76fde28475
Fix off-by-one error when allocating memory in test_util_split_lines()
...
Triggered "failed OVER picket-fence magic-number check (err 27)" when
memory debugging using dmalloc is enabled (at 'low' or higher).
2011-08-31 23:40:29 +01:00
Nick Mathewson
2778cdd671
Rename tor_join_cmdline to tor_join_win_cmdline; tweak doxygen
2011-08-30 16:00:08 -04:00
Steven Murdoch
da34360952
Factor out and re-write code for splitting lines from a handle
...
Now handles non-printable characters and will not output a spurious
new-line if given a partial line.
2011-08-30 14:55:51 +01:00
Steven Murdoch
bc97f41080
Refactor out command line formatting
...
Now correctly handles whitespace, quotes and backslashes. Passes all unit tests.
2011-08-29 14:37:38 +01:00
Steven Murdoch
f1ff65dfad
Replace two magic tristates with #define'd names
...
- process_handle_t.status
- return value of tor_get_exit_code()
2011-08-29 00:30:18 +01:00
Steven Murdoch
3f0a197aad
Make signature of tor_spawn_background more conventional
...
Conventionally in Tor, structs are returned as pointers, so change
tor_spawn_background() to return the process handle in a pointer rather
than as return value.
2011-08-28 23:35:02 +01:00
Steven Murdoch
1da5081ae0
Appease "make check-spaces"
2011-08-24 21:34:13 +01:00
Steven Murdoch
476807211c
We don't need to find our own path, just tell Windows to search
2011-08-24 20:50:58 +01:00
Steven Murdoch
6304e088d0
Find test-child.exe by looking in same directory as test.exe
2011-08-24 19:56:38 +01:00
Steven Murdoch
50504fc4cb
Fix test cases to handle MSYS style paths (/c/foo rather than c:/foo)
...
Also fix test case to expect 1 on successfully spawning a subprocess
2011-08-22 20:05:11 +01:00
Steven Murdoch
1ad986335a
Tidy up subprocess code
...
- Better error handling
- Write description of functions
- Don't assume non-negative process return values
2011-08-22 19:43:38 +01:00
Steven Murdoch
f46f6aabb4
Fix some compiler warnings
2011-08-22 18:13:58 +01:00
Steven Murdoch
7d015c886a
Complete logging of output from port forwarding helper
2011-08-18 18:41:23 +01:00
Steven Murdoch
5bf9890b3b
Test case for reading the partial output of a background process
2011-07-25 04:08:08 +01:00
Steven Murdoch
2d5059e08e
Use PeekNamedPipe to avoid blocking ReadFile when there is nothing to read
2011-07-22 21:12:00 +01:00
Steven Murdoch
55a1cb53d6
Add code to read all from a handle, but this block forever
...
See http://stackoverflow.com/questions/3722409/windows-child-process-with-redirected-input-and-output
for a potential solution
2011-07-22 15:57:56 +01:00
Steven Murdoch
fec902dd60
Add Windows version of tor_spawn_background and ancillary functions
2011-07-21 19:26:19 +01:00
Steven Murdoch
35c89be02b
Generalize process spawning so its test compiles (but fails) in Windows
...
- pid, stdout/stderr_pipe now encapsulated in process_handle
- read_all replaced by tor_read_all_from_process_stdin/stderr
- waitpid replaced by tor_get_exit_code
Untested on *nix
2011-07-21 16:34:48 +01:00
Nick Mathewson
b2e7c356db
Prefer tt_assert in unit tests, not tor_assert
2011-06-08 20:33:53 -04:00
Sebastian Hahn
3bf808c341
Fix a minor coverity-found bug in tests
2011-06-08 20:00:47 +02:00
Nick Mathewson
4ac8ff9c9f
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-05-15 20:22:44 -04:00
Nick Mathewson
3b6cbf2534
Add a function to pull off the final component of a path
2011-05-15 20:20:29 -04:00
Nick Mathewson
aa8db013e4
Fixup whitespace issues from 3122 commit in 0.2.3
2011-05-15 20:13:12 -04:00
Nick Mathewson
9fba014e3f
Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023
...
Conflicts in various places, mainly node-related. Resolved them in
favor of HEAD, with copying of tor_mem* operations from bug3122_memcmp_022.
src/common/Makefile.am
src/or/circuitlist.c
src/or/connection_edge.c
src/or/directory.c
src/or/microdesc.c
src/or/networkstatus.c
src/or/router.c
src/or/routerlist.c
src/test/test_util.c
2011-05-11 16:39:45 -04:00
Nick Mathewson
9964c314c6
fwd-port test_util_di_ops into tinytest format
2011-05-11 16:25:51 -04:00
Nick Mathewson
d8cb4f9f0c
Use read_all() to read messages from spawn_background
...
Using read() is an invitation to get some of the data you want, not all.
Possible fix for bug 2462
2011-05-04 23:32:18 -04:00
Nick Mathewson
394a6bf4cd
Merge remote branch 'origin/maint-0.2.2'
2011-01-03 12:47:58 -05:00
Nick Mathewson
bb5f99d4df
Merge remote branch 'sebastian/bug2314' into maint-0.2.2
2011-01-03 12:47:14 -05:00
Nick Mathewson
8730884ebe
Merge remote branch 'origin/maint-0.2.2'
2011-01-03 11:53:28 -05:00
Nick Mathewson
30b3475e6d
Bump copyright statements to 2011 (0.2.2)
2011-01-03 11:52:09 -05:00
Sebastian Hahn
9ecf133686
Fix compile wanrings revealed by gcc 4.5 on mingw
2010-12-27 09:47:41 +01:00
Steven Murdoch
06eafb3fcc
Fix running unit tests from outside of the build directory (fixes bug #2051 )
...
Currently the unit tests test_util_spawn_background_* assume that they
are run from the Tor build directory. This is not the case when running
make distcheck, so the test will fail. This problem is fixed by autoconf
setting BUILDDIR to be the root of the Tor build directory, and this
preprocessor variable being used to specify the absolute path to
test-child. Also, in test-child, do not print out argv[0] because this will
no longer be predictable. Found by Sebastian Hahn.
2010-10-11 23:29:52 +01:00
Nick Mathewson
544a8afe5a
Merge remote branch 'sjmurdoch/bug1903'
2010-10-11 11:01:15 -04:00
Steven Murdoch
f7338d3baa
Skip running fgets_eagain test until we fix it
2010-10-11 15:56:14 +01:00
Nick Mathewson
8f76f31761
Make tor_sscanf handle %x
2010-10-11 10:50:47 -04:00
Steven Murdoch
8a12ce2cf9
Add a unit test for tor_spawn_background
...
- Test sucessfully starting a process
- Test failing to find the executable
2010-10-10 19:08:44 +01:00
Steven Murdoch
8ee559bd63
Add a unit test for fgets (currently fails)
...
- For a non-blocking pipe, check that on EAGAIN fgets returns NULL
rather than a partial line
2010-10-10 19:08:44 +01:00
Steven Murdoch
5a77c64834
Fix issues in nickm's review of format_helper_exit_status for bug #1903
...
- Responsibility of clearing hex_errno is no longer with caller
- More conservative bounds checking
- Length requirement of hex_errno documented
- Output format documented
2010-10-04 14:31:27 +01:00
Steven Murdoch
a6dc00fa75
Start tor-fw-helper in the background, and log whatever it outputs
2010-09-30 11:40:37 -04:00
Nick Mathewson
e385961542
Merge remote branch 'public/bug1954' into maint-0.2.2
2010-09-27 15:39:40 -04:00
Sebastian Hahn
1d29ad891e
Add new torrc line continuation unit tests
...
We want to make sure that we don't break old torrc files that might have
used something like this made-up example:
ContactInfo UberUser <uber@user.com> # /// Fake email! \\\
Log info file /home/nick.mathewson/projects/tor-info.log
And we also want to support the following style of writing your torrc:
ExcludeNodes \
# Node1337 is run by the Bavarian Illuminati
Node1337, \
# The operator of Node99 looked at me funny
Node99
The code already handles both cases, but the unit test should help prove
it.
2010-09-23 22:46:13 +02:00
Nick Mathewson
418e6caeeb
New function to load windows system libraries
...
This function uses GetSystemDirectory() to make sure we load the version
of the library from c:\windows\system32 (or local equivalent) rather than
whatever version lives in the cwd.
2010-09-21 14:39:23 -04:00
Sebastian Hahn
a05ef55b66
Allow comments for multi-line torrc options
2010-09-11 01:41:23 +02:00
Nick Mathewson
07049b3d25
Support mutli-line torrc options via the usual backslash syntax
2010-09-10 09:19:10 -04:00
Nick Mathewson
34551cda6f
Add unit test for tor_listdir.
2010-08-20 13:24:54 -04:00
Sebastian Hahn
0bfa34e1f6
Create control.h
2010-07-27 07:58:15 +02:00
Sebastian Hahn
c4f8f1316e
Create config.h
2010-07-27 07:58:14 +02:00
Nick Mathewson
7221d15acc
Merge commit 'origin/maint-0.2.1'
...
Conflicts:
src/or/test.c
2010-04-12 18:22:06 -04:00
Nick Mathewson
927425150b
Merge branch 'asprintf'
2010-04-02 12:30:46 -04:00
Nick Mathewson
da220157a9
Update copyright dates for files not in maint-0.2.1
2010-02-27 17:19:00 -05:00