devserver: allow calling devserver from anywhere

Change-Id: I5b1eaf2d2d2bc1ee51d0ff676e2a64abc98b1322

BUG=5246
TEST=below
1) Modified unittests to run from /
2) Ran unit tests before the change and saw the fail
3) Ran unit tests after the change and saw them succeed
4) sudo FEATURES=test ACCEPT_KEYWORDS=~amd64 emerge cros-devutils (see things installed and unittests passing)

Review URL: http://codereview.chromium.org/6425002
diff --git a/devserver_test.py b/devserver_test.py
index b4ccb70..69c754f 100755
--- a/devserver_test.py
+++ b/devserver_test.py
@@ -49,13 +49,15 @@
 # TODO(girts): use a random available port.
 UPDATE_URL = 'http://127.0.0.1:8080/update'
 
+# Run all tests while being in /
+base_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
+os.chdir("/")
 
 class DevserverTest(unittest.TestCase):
   """Regressions tests for devserver."""
 
   def setUp(self):
     """Copies in testing files."""
-    base_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
 
     # Copy in developer-test.gz, as "static/" directory is hardcoded, and it
     # would be very hard to change it (static file serving is handled deep
@@ -77,7 +79,7 @@
     """Tests --validate_factory_config."""
     cmd = [
         'python',
-        'devserver.py',
+        os.path.join(base_dir, 'devserver.py'),
         '--validate_factory_config',
         '--factory_config', self.factory_config,
     ]
@@ -90,6 +92,7 @@
     """Starts devserver, returns process."""
     cmd = [
         'python',
+        os.path.join(base_dir, 'devserver.py'),
         'devserver.py',
         '--factory_config', self.factory_config,
     ]