commit dbf8663cf9b5ca1e31f516109b019045ec63a04c Author: Damian Johnson atagar@torproject.org Date: Sat Jan 28 13:14:28 2012 -0800
Integ check for value of get_system_tor_version()
We had basic verification tests for get_system_tor_version() but it didn't check the value. This was a refactoring mistake, iirc it once checked the value but since we can run with an arbitrary tor binary I removed that, forgetting that get_system_tor_version() could optionally take that binary path.
Making this a separate test since it relies on the tor instance being accessible (which isn't the case with all targets). --- test/integ/version.py | 14 ++++++++++++++ test/runner.py | 13 ++++++++++++- 2 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/test/integ/version.py b/test/integ/version.py index 616ae57..e344ef8 100644 --- a/test/integ/version.py +++ b/test/integ/version.py @@ -29,6 +29,20 @@ class TestVersion(unittest.TestCase): # try running against a command that doesn't exist self.assertRaises(IOError, stem.version.get_system_tor_version, "blarg")
+ def test_get_system_tor_version_value(self): + """ + Checks that the get_system_tor_version() provides the same value as our + test instance provides. + """ + + runner = test.runner.get_runner() + + if not runner.is_accessible(): + self.skipTest("(no connection)") + + system_tor_version = stem.version.get_system_tor_version(runner.get_tor_command()) + self.assertEquals(runner.get_tor_version(), system_tor_version) + def test_getinfo_version_parsing(self): """ Issues a 'GETINFO version' query to our test instance and makes sure that diff --git a/test/runner.py b/test/runner.py index d3c6143..0e71ade 100644 --- a/test/runner.py +++ b/test/runner.py @@ -21,7 +21,8 @@ Runner - Runtime context for our integration tests. |- get_torrc_contents - contents of our tor instance's torrc |- get_pid - process id of our tor process |- get_tor_socket - provides a socket to the tor instance - +- get_tor_version - provides the version of tor we're running against + |- get_tor_version - provides the version of tor we're running against + +- get_tor_command - provides the command used to start tor """
import os @@ -115,6 +116,7 @@ class Runner:
# runtime attributes, set by the start method self._test_dir = "" + self._tor_cmd = None self._tor_cwd = "" self._torrc_contents = "" self._custom_opts = None @@ -160,6 +162,7 @@ class Runner: os.chdir(tor_cwd) data_dir_path = "./%s" % os.path.basename(self._test_dir)
+ self._tor_cmd = tor_cmd self._custom_opts = extra_torrc_opts self._torrc_contents = BASE_TORRC % data_dir_path
@@ -197,6 +200,7 @@ class Runner: shutil.rmtree(self._test_dir, ignore_errors = True)
self._test_dir = "" + self._tor_cmd = None self._tor_cwd = "" self._torrc_contents = "" self._custom_opts = None @@ -393,6 +397,13 @@ class Runner: tor_version = list(version_response)[0][8:] return stem.version.Version(tor_version)
+ def get_tor_command(self): + """ + Provides the command used to run our tor instance. + """ + + return self._get("_tor_cmd") + def _get(self, attr): """ Fetches one of our attributes in a thread safe manner, raising if we aren't
tor-commits@lists.torproject.org