diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py
index cd631f20b6f3be8bc0bfac003e62fe7aaeb7381f..99c7bce2c6d431ac03f4a8f8cd827c5eb98d006e 100644
--- a/var/spack/repos/builtin/packages/esmf/package.py
+++ b/var/spack/repos/builtin/packages/esmf/package.py
@@ -59,7 +59,7 @@ class Esmf(MakefilePackage):
     depends_on('xerces-c@3.1.0:', when='+xerces')
 
     # Testing dependencies
-    # depends_on('perl', type='test')  # TODO: Add a test deptype
+    depends_on('perl', type='test')
 
     # Make esmf build with newer gcc versions
     # https://sourceforge.net/p/esmf/esmf/ci/3706bf758012daebadef83d6575c477aeff9c89b/
diff --git a/var/spack/repos/builtin/packages/flann/package.py b/var/spack/repos/builtin/packages/flann/package.py
index 9053ae8610aa8b346dbf3c0c46bb91eef5072769..4e817b109b5f068a143906b27f18a52d5b86efaf 100644
--- a/var/spack/repos/builtin/packages/flann/package.py
+++ b/var/spack/repos/builtin/packages/flann/package.py
@@ -92,6 +92,9 @@ def url_for_version(self, version):
     # Example uses hdf5.
     depends_on("hdf5", when="+examples")
 
+    depends_on('hdf5', type='test')
+    depends_on('gtest', type='test')
+
     def patch(self):
         # Fix up the python setup.py call inside the install(CODE
         filter_file("setup.py install",
@@ -109,10 +112,6 @@ def patch(self):
                     "# install( FILES",
                     "src/python/CMakeLists.txt", string=True)
 
-    # TODO: revisit after https://github.com/spack/spack/issues/1279
-    # depends_on('hdf5', type='test')
-    # depends_on('gtest', type='test')
-
     def cmake_args(self):
         spec = self.spec
         args = []
diff --git a/var/spack/repos/builtin/packages/jsoncpp/package.py b/var/spack/repos/builtin/packages/jsoncpp/package.py
index fe82bca87722237d24dbf85a68d23dc0e4a12309..3f0fccf47e203bbdeb548620b1e071639e46e8f4 100644
--- a/var/spack/repos/builtin/packages/jsoncpp/package.py
+++ b/var/spack/repos/builtin/packages/jsoncpp/package.py
@@ -42,8 +42,7 @@ class Jsoncpp(CMakePackage):
                     'MinSizeRel', 'Coverage'))
 
     depends_on('cmake@3.1:', type='build')
-    # TODO: Add a 'test' deptype
-    # depends_on('python', type='test')
+    depends_on('python', type='test')
 
     def cmake_args(self):
         return ['-DBUILD_SHARED_LIBS=ON']
diff --git a/var/spack/repos/builtin/packages/libpipeline/package.py b/var/spack/repos/builtin/packages/libpipeline/package.py
index a384e2a292a5d83074fdce7c5581d90608844726..5128162998cc117bafba7dac8d52247bb8b4cb4b 100644
--- a/var/spack/repos/builtin/packages/libpipeline/package.py
+++ b/var/spack/repos/builtin/packages/libpipeline/package.py
@@ -35,6 +35,4 @@ class Libpipeline(AutotoolsPackage):
     version('1.4.2', '30cec7bcd6fee723adea6a54389f3da2')
 
     depends_on('pkgconfig', type='build')
-    # TODO: Add a 'test' deptype
-    # See https://github.com/spack/spack/issues/1279
-    # depends_on('check', type='test')
+    depends_on('check', type='test')
diff --git a/var/spack/repos/builtin/packages/lz4/package.py b/var/spack/repos/builtin/packages/lz4/package.py
index ec5dded43f8fdb17a2bbc5cfbc30cedaecf982d4..d5e915a05b36fbca5f0f8303d9cb10aeea2e0510 100644
--- a/var/spack/repos/builtin/packages/lz4/package.py
+++ b/var/spack/repos/builtin/packages/lz4/package.py
@@ -39,7 +39,7 @@ class Lz4(Package):
     version('1.7.5', 'c9610c5ce97eb431dddddf0073d919b9')
     version('1.3.1', '42b09fab42331da9d3fb33bd5c560de9')
 
-    # depends_on('valgrind', type='test')
+    depends_on('valgrind', type='test')
 
     def url_for_version(self, version):
         url = "https://github.com/lz4/lz4/archive"
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index f4e78c5759b7a7e1562472ca72f3c208069e1d5f..1f2245f02ca88604a2b18bfa4c98a9e0a7330cd6 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -67,10 +67,7 @@ class Openssl(Package):
 
     depends_on('zlib')
 
-    # TODO: 'make test' requires Perl module Test::More version 0.96
-    # TODO: uncomment when test dependency types are supported.
-    # TODO: This is commented in the meantime to avoid dependnecy bloat.
-    # depends_on('perl@5.14.0:', type='build', when='+tests')
+    depends_on('perl@5.14.0:', type='test')
 
     parallel = False
 
@@ -111,9 +108,8 @@ def install(self, spec, prefix):
         filter_file(r'-arch x86_64', '', 'Makefile')
 
         make()
-        # TODO: add this back when we have a 'test' dependency type. See above.
-        # if self.run_tests:
-        #     make('test')            # 'VERBOSE=1'
+        if self.run_tests:
+            make('test')            # 'VERBOSE=1'
         make('install')
 
     @run_after('install')
diff --git a/var/spack/repos/builtin/packages/py-brian2/package.py b/var/spack/repos/builtin/packages/py-brian2/package.py
index ef9842516a142ede05384d4bec97d8b17bb9c1fb..2f6bafa0e10564d4f0885fadcac3b9f42d3be2fb 100644
--- a/var/spack/repos/builtin/packages/py-brian2/package.py
+++ b/var/spack/repos/builtin/packages/py-brian2/package.py
@@ -44,7 +44,5 @@ class PyBrian2(PythonPackage):
     depends_on('py-pyparsing',      type=('build', 'run'))
     depends_on('py-jinja2@2.7:',    type=('build', 'run'))
     depends_on('py-cpuinfo@0.1.6:', type=('build', 'run'))
-
-    # TODO: Add a 'test' deptype
-    # depends_on('py-nosetests@1.0:', type='test')
     depends_on('py-sphinx@1.4.2:',  type=('build', 'run'), when='+docs')
+    depends_on('py-nosetests@1.0:', type='test')
\ No newline at end of file
diff --git a/var/spack/repos/builtin/packages/py-elephant/package.py b/var/spack/repos/builtin/packages/py-elephant/package.py
index 520bb352846e9f468c483c1df094e0395e7f22f3..80612ba4ffa72aea77b643ce9695e1bb24f09036 100644
--- a/var/spack/repos/builtin/packages/py-elephant/package.py
+++ b/var/spack/repos/builtin/packages/py-elephant/package.py
@@ -46,4 +46,4 @@ class PyElephant(PythonPackage):
     depends_on('py-pandas@0.14.1:',     type=('build', 'run'), when='+pandas')
     depends_on('py-numpydoc@0.5:',      type=('build', 'run'), when='+docs')
     depends_on('py-sphinx@1.2.2:',      type=('build', 'run'), when='+docs')
-    # depends_on('py-nose@1.3.3:',        type=('build', 'run')) # tests
+    depends_on('py-nose@1.3.3:',        type='test')
diff --git a/var/spack/repos/builtin/packages/py-fiscalyear/package.py b/var/spack/repos/builtin/packages/py-fiscalyear/package.py
index e1be120d3c52f741baf6db69b67d20fe7dc2427c..133677264a8f8fa54ff204339fed2ebde1cb1780 100644
--- a/var/spack/repos/builtin/packages/py-fiscalyear/package.py
+++ b/var/spack/repos/builtin/packages/py-fiscalyear/package.py
@@ -43,6 +43,5 @@ class PyFiscalyear(PythonPackage):
     depends_on('python@2.5:')
     depends_on('py-setuptools', type='build')
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-pytest', type='test')
-    # depends_on('py-pytest-runner', type='test')
+    depends_on('py-pytest', type='test')
+    depends_on('py-pytest-runner', type='test')
diff --git a/var/spack/repos/builtin/packages/py-flake8/package.py b/var/spack/repos/builtin/packages/py-flake8/package.py
index f2282845a15f0bafd5fa858d8b35fc1ef4b0e655..81a5838956e02eee40256b9238be00e45318b662 100644
--- a/var/spack/repos/builtin/packages/py-flake8/package.py
+++ b/var/spack/repos/builtin/packages/py-flake8/package.py
@@ -71,8 +71,7 @@ class PyFlake8(PythonPackage):
     depends_on('py-configparser', type=('build', 'run'))
     depends_on('py-enum34', type=('build', 'run'))
 
-    # TODO: Add test dependencies
-    # depends_on('py-nose', type='test')
+    depends_on('py-nose', type='test')
 
     def patch(self):
         """Filter pytest-runner requirement out of setup.py."""
diff --git a/var/spack/repos/builtin/packages/py-mako/package.py b/var/spack/repos/builtin/packages/py-mako/package.py
index 01e83a77fecfe92a0cfeb049eba2b5b448a556fb..7e7b5d07d8cdaf143ea18334c615a3ea8e4c7c1a 100644
--- a/var/spack/repos/builtin/packages/py-mako/package.py
+++ b/var/spack/repos/builtin/packages/py-mako/package.py
@@ -36,6 +36,6 @@ class PyMako(PythonPackage):
     version('1.0.1', '9f0aafd177b039ef67b90ea350497a54')
 
     depends_on('py-setuptools', type='build')
-    # depends_on('py-mock',   type='test')  # TODO: Add test deptype
-    # depends_on('py-pytest', type='test')  # TODO: Add test deptype
+    depends_on('py-mock',   type='test')
+    depends_on('py-pytest', type='test')
     depends_on('py-markupsafe@0.9.2:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index 914a3dfce68e698b842db00cffec84b6a5247902..a1947b18dd947fdc7c22c8af53b19f1557bc1254 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -95,9 +95,8 @@ class PyMatplotlib(PythonPackage):
     depends_on('texlive', when='+latex', type='run')
 
     # Testing dependencies
-    # TODO: Add a 'test' deptype
-    # depends_on('py-nose', type='test')
-    # depends_on('py-mock', type='test')
+    depends_on('py-nose', type='test')
+    depends_on('py-mock', type='test')
 
     # Required libraries that ship with matplotlib
     # depends_on('agg@2.4:')
diff --git a/var/spack/repos/builtin/packages/py-mccabe/package.py b/var/spack/repos/builtin/packages/py-mccabe/package.py
index 63c0a828d7379285c7a962844c9ee51acedeb2be..487320a755eca307138051d9295d3131d650cfc1 100644
--- a/var/spack/repos/builtin/packages/py-mccabe/package.py
+++ b/var/spack/repos/builtin/packages/py-mccabe/package.py
@@ -47,9 +47,7 @@ class PyMccabe(PythonPackage):
     depends_on('python@2.7:2.8,3.3:')
 
     depends_on('py-setuptools', type='build')
-
-    # TODO: Add test dependencies
-    # depends_on('py-pytest', type='test')
+    depends_on('py-pytest', type='test')
 
     def patch(self):
         """Filter pytest-runner requirement out of setup.py."""
diff --git a/var/spack/repos/builtin/packages/py-patsy/package.py b/var/spack/repos/builtin/packages/py-patsy/package.py
index 48fbe1f7af9287bb0fcadb6c007d8236eb31f36e..c760fdb40ba574ef4290d9d43dc703b1925f1202 100644
--- a/var/spack/repos/builtin/packages/py-patsy/package.py
+++ b/var/spack/repos/builtin/packages/py-patsy/package.py
@@ -41,5 +41,4 @@ class PyPatsy(PythonPackage):
     depends_on('py-scipy',       type=('build', 'run'), when="+splines")
     depends_on('py-six',         type=('build', 'run'))
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-nose', type='test')
+    depends_on('py-nose', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pkgconfig/package.py b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
index b7d424a16171727c0cab0748b51eef3da8b0c26b..2b1d6f8b4df2efe00b956b7b9ffd325fb59b2937 100644
--- a/var/spack/repos/builtin/packages/py-pkgconfig/package.py
+++ b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
@@ -38,5 +38,4 @@ class PyPkgconfig(PythonPackage):
 
     depends_on('pkgconfig', type=('build', 'run'))
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-nose@1.0:', type='test')
+    depends_on('py-nose@1.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-psyclone/package.py b/var/spack/repos/builtin/packages/py-psyclone/package.py
index a8ec68202b3270462f514733d93b0039b1286776..094d3c205f26c8de17a1b30016850b616bbb8823 100644
--- a/var/spack/repos/builtin/packages/py-psyclone/package.py
+++ b/var/spack/repos/builtin/packages/py-psyclone/package.py
@@ -39,8 +39,6 @@ class PyPsyclone(PythonPackage):
     version('develop', git=giturl, branch='master')
 
     depends_on('py-setuptools', type='build')
-
-    depends_on('python', type=('build', 'run'))
     depends_on('py-pyparsing', type=('build', 'run'))
 
     # Test cases fail without compatible versions of py-fparser:
@@ -48,8 +46,8 @@ class PyPsyclone(PythonPackage):
     depends_on('py-fparser', type=('build', 'run'), when='@1.5.2:')
 
     # Dependencies only required for tests:
-    depends_on('py-numpy', type='test')
-    depends_on('py-nose', type='test')
+    depends_on('py-numpy',  type='test')
+    depends_on('py-nose',   type='test')
     depends_on('py-pytest', type='test')
 
     @run_after('install')
diff --git a/var/spack/repos/builtin/packages/py-py2cairo/package.py b/var/spack/repos/builtin/packages/py-py2cairo/package.py
index 1ddbcc440a91a87e0a781ce12e193c1b23436c9c..a990bbaeb5a12127ec6242aa041e370d3b93e4b1 100644
--- a/var/spack/repos/builtin/packages/py-py2cairo/package.py
+++ b/var/spack/repos/builtin/packages/py-py2cairo/package.py
@@ -40,8 +40,7 @@ class PyPy2cairo(WafPackage):
     depends_on('pixman')
     depends_on('pkgconfig', type='build')
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-pytest', type='test')
+    depends_on('py-pytest', type='test')
 
     def installtest(self):
         with working_dir('test'):
diff --git a/var/spack/repos/builtin/packages/py-pynn/package.py b/var/spack/repos/builtin/packages/py-pynn/package.py
index 5eb900ab6e03f60651a6e0e10bd0b0be9e0fceca..0bc23e1ceea473e8d6e9dd1af066737a42ab4ffa 100644
--- a/var/spack/repos/builtin/packages/py-pynn/package.py
+++ b/var/spack/repos/builtin/packages/py-pynn/package.py
@@ -50,5 +50,4 @@ class PyPynn(PythonPackage):
     depends_on('py-neo@0.3:0.4.1',      type=('build', 'run'), when="@:0.8.3")
     depends_on('py-neo@0.5.0:',         type=('build', 'run'), when="@0.9.0:")
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-mock@1.0:', type='test')
+    depends_on('py-mock@1.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-qtconsole/package.py b/var/spack/repos/builtin/packages/py-qtconsole/package.py
index e136cd6834c519ff6c77acfa3f3c41afe02ba5c3..f4b818be174075200ed7818569b17f1f19faff1a 100644
--- a/var/spack/repos/builtin/packages/py-qtconsole/package.py
+++ b/var/spack/repos/builtin/packages/py-qtconsole/package.py
@@ -42,5 +42,4 @@ class PyQtconsole(PythonPackage):
     depends_on('py-traitlets',           type=('build', 'run'))
     depends_on('py-sphinx@1.3:',         type=('build', 'run'), when='+docs')
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-mock', type='test', when='^python@2.7:2.8')
+    depends_on('py-mock', type='test', when='^python@2.7:2.8')
diff --git a/var/spack/repos/builtin/packages/py-requests/package.py b/var/spack/repos/builtin/packages/py-requests/package.py
index 814778823fb8cfba4ac4987ae004b91ad465c3af..db710fcb0e18891e3d5d1e0083049d99bd5bdd4c 100644
--- a/var/spack/repos/builtin/packages/py-requests/package.py
+++ b/var/spack/repos/builtin/packages/py-requests/package.py
@@ -49,8 +49,7 @@ class PyRequests(PythonPackage):
 
     depends_on('py-setuptools', type='build')
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-pytest@2.8.0:',        type='test')
-    # depends_on('py-pytest-cov',           type='test')
-    # depends_on('py-pytest-httpbin@0.0.7', type='test')
-    # depends_on('py-pytest-mock',          type='test')
+    depends_on('py-pytest@2.8.0:',        type='test')
+    depends_on('py-pytest-cov',           type='test')
+    depends_on('py-pytest-httpbin@0.0.7', type='test')
+    depends_on('py-pytest-mock',          type='test')
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index e4be436a7fe4e26dca66ff4e1257dead50f65e9d..e63605efc6a2b5a45d0bd0cd4b23fa15a7b02582 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -84,8 +84,7 @@ class PySphinx(PythonPackage):
     #            type=('build', 'run'))
     depends_on('py-typing', when='@1.6:', type=('build', 'run'))
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-pytest',     type='test')
-    # depends_on('py-mock',       type='test')
-    # depends_on('py-simplejson', type='test')
-    # depends_on('py-html5lib',   type='test')
+    depends_on('py-pytest',     type='test')
+    depends_on('py-mock',       type='test')
+    depends_on('py-simplejson', type='test')
+    depends_on('py-html5lib',   type='test')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
index 49c1b261437ef722bb114eee522ced0adfb73258..0c98d435c7565b38f1b654602dc264c2ee0218c1 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-websupport/package.py
@@ -42,6 +42,5 @@ class PySphinxcontribWebsupport(PythonPackage):
 
     depends_on('py-setuptools', type='build')
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-pytest', type='test')
-    # depends_on('py-mock',   type='test')
+    depends_on('py-pytest', type='test')
+    depends_on('py-mock',   type='test')
diff --git a/var/spack/repos/builtin/packages/py-theano/package.py b/var/spack/repos/builtin/packages/py-theano/package.py
index b973065a21845744351c24e451e7382ecefa1471..a8b32f57815fdfe4543bb45335abe339fb4550e2 100644
--- a/var/spack/repos/builtin/packages/py-theano/package.py
+++ b/var/spack/repos/builtin/packages/py-theano/package.py
@@ -54,6 +54,5 @@ class PyTheano(PythonPackage):
     depends_on('py-pygpu', when='+gpu', type=('build', 'run'))
     depends_on('libgpuarray', when='+gpu')
 
-    # TODO: Add a 'test' deptype
-    # depends_on('py-nose@1.3.0:', type='test')
-    # depends_on('py-nose-parameterized@0.5.0:', type='test')
+    depends_on('py-nose@1.3.0:', type='test')
+    depends_on('py-nose-parameterized@0.5.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/rr/package.py b/var/spack/repos/builtin/packages/rr/package.py
index 1f74a35e780e6417d56c00f1f447a43da9ca2f74..baf79aca6b7a65669e5022ae4dd838475b73cd24 100644
--- a/var/spack/repos/builtin/packages/rr/package.py
+++ b/var/spack/repos/builtin/packages/rr/package.py
@@ -40,7 +40,7 @@ class Rr(CMakePackage):
     # depends_on('capnproto', when='@4.6:')  # not yet in spack
     # depends_on('libcapnp')    # needed for future releases
     depends_on('pkgconfig', type='build')
-    depends_on('py-pexpect', type='build')  # actually tests
+    depends_on('py-pexpect', type='test')
 
     # rr needs architecture Nehalem and beyond, how can spack
     # test this?
diff --git a/var/spack/repos/builtin/packages/wget/package.py b/var/spack/repos/builtin/packages/wget/package.py
index 0c7301011c09f24821b2c3f41f224dfc316af581..d3ebfbd0fb61a4bdbc54befe352db5ec865b744f 100644
--- a/var/spack/repos/builtin/packages/wget/package.py
+++ b/var/spack/repos/builtin/packages/wget/package.py
@@ -62,8 +62,7 @@ class Wget(AutotoolsPackage):
     depends_on('perl@5.12.0:', type='build')
     depends_on('pkgconfig', type='build')
 
-    # TODO: Add a 'test' deptype
-    # depends_on('valgrind', type='test')
+    depends_on('valgrind', type='test')
 
     build_directory = 'spack-build'