Add a context manager for all the mocking in tests!!

ABSOLUTELY WRITE TESTS FOR REPORTBUG.SUBMIT!!!!!


- remove all lines like
    # $Id: reportbug.py,v 1.35.2.24 2008-04-18 05:38:28 lawrencc Exp $

---------------------------

==> Doc unittest, da fixare :) "unittest.skip"
 
Classes can be skipped just like methods:

@skip("showing class skipping")
class MySkippedTestCase(unittest.TestCase):
    def test_not_run(self):
        pass

---


@unittest2.skip("Too slow")
class TestSourcePackages(unittest2.TestCase):

/usr/lib/pymodules/python2.6/unittest2/case.py:326: DeprecationWarning: Use of a TestResult without an addSkip method is deprecated
  self._addSkip(result, skip_why)


ma poi lo skippa davvero

(messaggio con nosetests -v)
test_get_source_name (test.test_utils.TestSourcePackages) ... /usr/lib/pymodules/python2.6/unittest2/case.py:326: DeprecationWarning: Use of a TestResult without an addSkip method is deprecated
  self._addSkip(result, skip_why)
ok

---

bin/reportbug:1247
   package = get_package_name(bts, mode)

questa funzione viene chiamata solo se non si passa nessun package_name da commandline
ma in quella funzione vengono fatti tutti i controlli se il nome del pacchetto e' valido
per la modalita' selezionata

  - provare cn: --mode=novice general
  - e poi con solo --mode=novice e dopo inserire general quando viene chiesto il pacchetto

---

rimuovere quella cazzata del timeout explicito che non si sopporta cazzo

---

convert from optparse to argparse, ma controllare se ha quella cosa dei callback e callback_args che sembra fica

---

test cli options, somehow!

PYTHONPATH=. ./bin/reportbug --debug --tag=help
PYTHONPATH=. ./bin/reportbug --debug --mode=novice --tag=help
PYTHONPATH=. ./bin/reportbug --debug --mode=expert --tag=security
