Documentation and tests for 10060

This commit is contained in:
Nick Mathewson 2013-11-07 14:42:58 -05:00
parent 86cfc64d45
commit 940d286a74
3 changed files with 23 additions and 3 deletions

View File

@ -1,6 +1,5 @@
o Minor features:
- Adding --allow-missing-torrc commandline option
that allows Tor to run if configuration file specified
by -f is not available, but default torrc is.
- Adding --allow-missing-torrc commandline option that allows Tor to
run if configuration file specified by -f is not available.
Implements ticket 10060.

View File

@ -55,6 +55,11 @@ COMMAND-LINE OPTIONS
configuration file, and by those on the command line. (Default:
@CONFDIR@/torrc-defaults.)
[[opt-ignore-missing-torrc]] **--ignore-missing-torrc**::
Specifies that Tor should treat a missing torrc file as though it
were empty. Ordinarily, Tor does this for missing default torrc files,
but not for those specified on the command line.
[[opt-hash-password]] **--hash-password** __PASSWORD__::
Generates a hashed password for control port access.

View File

@ -60,6 +60,10 @@ def strip_log_junk(line):
return ""+line
return m.group(2).strip()
def randstring(entropy_bytes):
s = os.urandom(entropy_bytes)
return binascii.b2a_hex(s)
class CmdlineTests(unittest.TestCase):
def test_version(self):
@ -247,5 +251,17 @@ class CmdlineTests(unittest.TestCase):
"ORPort 9003",
"SocksPort 9090"])
def test_missing_torrc(self):
fname = "nonexistent_file_"+randstring(8)
out = run_tor(["-f", fname, "--verify-config"], failure=True)
ln = [ strip_log_junk(l) for l in lines(out) ]
self.assert_("Unable to open configuration file" in ln[-2])
self.assert_("Reading config failed" in ln[-1])
out = run_tor(["-f", fname, "--verify-config", "--ignore-missing-torrc"])
ln = [ strip_log_junk(l) for l in lines(out) ]
self.assert_(", using reasonable defaults" in ln[-2])
self.assert_("Configuration was valid" in ln[-1])
if __name__ == '__main__':
unittest.main()