holger krekel avatar holger krekel committed 6016bb0 Draft Merge

Merged in msabramo/tox_quickstart (pull request #25)

Comments (0)

Files changed (2)

tests/test_quickstart.py

         result = open('tox.ini').read()
         assert(result == expected_tox_ini)
 
+    def test_quickstart_main_existing_tox_ini(self, monkeypatch, tmpdir):
+        try:
+            f = open('tox.ini', 'w')
+            f.write('foo bar\n')
+        finally:
+            f.close()
+            
+        monkeypatch.setattr(
+            tox._quickstart, 'term_input', 
+            self.get_mock_term_input(['4', '', '', '', '', '', '', '', '', '', '', '', '', '']))
+
+        tox._quickstart.main(argv=['tox-quickstart'])
+
+        expected_tox_ini = """
+# Tox (http://tox.testrun.org/) is a tool for running tests
+# in multiple virtualenvs. This configuration file will run the
+# test suite on all supported python versions. To use it, "pip install tox"
+# and then run "tox" from this directory.
+
+[tox]
+envlist = py24, py25, py26, py27, py30, py31, py32, py33, pypy, jython
+
+[testenv]
+commands = {envpython} setup.py test
+deps = 
+    
+""".lstrip()
+        result = open('tox-generated.ini').read()
+        assert(result == expected_tox_ini)
+
 
 class TestToxQuickstart(object):
     def test_pytest(self, tmpdir):

tox/_quickstart.py

     conf_text = QUICKSTART_CONF % d
 
     def write_file(fpath, mode, content):
-        if overwrite or not path.isfile(fpath):
-            print('Creating file %s.' % fpath)
-            f = open(fpath, mode, encoding='utf-8')
-            try:
-                f.write(content)
-            finally:
-                f.close()
-        else:
-            print('File %s already exists, skipping.' % fpath)
+        print('Creating file %s.' % fpath)
+        f = open(fpath, mode, encoding='utf-8')
+        try:
+            f.write(content)
+        finally:
+            f.close()
 
     sys.stdout.write('\n')
+    
+    fpath = 'tox.ini'
 
-    write_file('tox.ini', 'w', conf_text)
+    if path.isfile(fpath) and not overwrite:
+        print('File %s already exists.' % fpath)
+        do_prompt(d, 'fpath', 'Alternative path to write tox.ini contents to', 'tox-generated.ini')
+        fpath = d['fpath']
+        
+    write_file(fpath, 'w', conf_text)
 
     if silent:
         return
         return
 
     d = process_input(d)
-    generate(d)
+    generate(d, overwrite=False)
 
 
 if __name__ == '__main__':
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.