Fixed up various command line option scenarios:
- If no tool is specified, V now gives a short message and a list of
available tools. This was meant to happen previously, but a bug prevented
it from working properly; it gave the usage message instead.
- If a bad option is given, V now gives a short message rather than the full
--help. This make V consistent with all other programs I looked at.
- Now returning 0 when you do 'valgrind --help' and 'valgrind --version'
as other programs do.
- Removed VG_(startup_logging)() and VG_(shutdown_logging)() as they were
empty and have been for a long time (always?).
- Added various tests for these scenarios. Had to change the regtest
script slightly to allow for malformed command lines.
This addresses bug (wishlist) #82999.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2418 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/none/tests/cmdline2.stdout.exp b/none/tests/cmdline2.stdout.exp
new file mode 100644
index 0000000..3c5cdb4
--- /dev/null
+++ b/none/tests/cmdline2.stdout.exp
@@ -0,0 +1,73 @@
+usage: valgrind --tool=<toolname> [options] prog-and-args
+
+ common user options for all Valgrind tools, with defaults in [ ]:
+ --tool=<name> Use the Valgrind tool named <name>
+ --help show this message
+ --help-debug show this message, plus debugging options
+ --version show version
+ -q --quiet run silently; only print error msgs
+ -v --verbose be more verbose, incl counts of errors
+ --trace-children=no|yes Valgrind-ise child processes? [no]
+ --track-fds=no|yes Track open file descriptors? [no]
+
+ uncommon user options for all Valgrind tools:
+ --run-libc-freeres=no|yes Free up glibc memory at exit? [yes]
+ --weird-hacks=hack1,hack2,... [none]
+ recognised hacks are: ioctl-VTIME truncate-writes lax-ioctls
+ --signal-polltime=<time> time, in mS, we should poll for signals.
+ Only applies for older kernels which need
+ signal routing [50]
+ --lowlat-signals=no|yes improve wake-up latency when a thread receives
+ a signal [no]
+ --lowlat-syscalls=no|yes improve wake-up latency when a thread's
+ syscall completes [no]
+ --pointercheck=no|yes enforce client address space limits [yes]
+
+ user options for Valgrind tools that report errors:
+ --logfile-fd=<number> file descriptor for messages [2=stderr]
+ --logfile=<file> log messages to <file>.pid<pid>
+ --logsocket=ipaddr:port log messages to socket ipaddr:port
+ --demangle=no|yes automatically demangle C++ names? [yes]
+ --num-callers=<number> show <num> callers in stack traces [4]
+ --error-limit=no|yes stop showing new errors if too many? [yes]
+ --show-below-main=no|yes continue stack traces below main() [no]
+ --suppressions=<filename> suppress errors described in <filename>
+ --gen-suppressions=no|yes print suppressions for errors detected [no]
+ --db-attach=no|yes start debugger when errors detected? [no]
+ --db-command=<command> command to start debugger [gdb -nw %f %p]
+ --input-fd=<number> file descriptor for input [0=stdin]
+
+ user options for Nulgrind:
+ (none)
+
+ debugging options for all Valgrind tools:
+ --sanity-level=<number> level of sanity checking to do [1]
+ --single-step=no|yes translate each instr separately? [no]
+ --optimise=no|yes improve intermediate code? [yes]
+ --profile=no|yes profile? (tool must be built for it) [no]
+ --chain-bb=no|yes do basic-block chaining? [yes]
+ --branchpred=yes|no generate branch prediction hints [no]
+ --trace-codegen=<XXXXX> show generated code? (X = 0|1) [00000]
+ --trace-syscalls=no|yes show all system calls? [no]
+ --trace-signals=no|yes show signal handling details? [no]
+ --trace-symtab=no|yes show symbol table details? [no]
+ --trace-sched=no|yes show thread scheduler details? [no]
+ --trace-pthread=none|some|all show pthread event details? [none]
+ --wait-for-gdb=yes|no pause on startup to wait for gdb attach
+
+ debugging options for Valgrind tools that report errors
+ --dump-error=<number> show translation for basic block associated
+ with <number>'th error context [0=show none]
+
+ debugging options for Nulgrind:
+ (none)
+
+ Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
+
+ Valgrind is Copyright (C) 2000-2004 Julian Seward
+ and licensed under the GNU General Public License, version 2.
+ Bug reports, feedback, admiration, abuse, etc, to: valgrind.kde.org.
+
+ Tools are copyright and licensed by their authors. See each
+ tool's start-up message for more information.
+