From cab34d7d3b2c810dc726e7316b7df2ca8ebfd1ff Mon Sep 17 00:00:00 2001
From: "Adam J. Stewart" <ajstewart426@gmail.com>
Date: Wed, 10 Jan 2018 10:03:45 -0600
Subject: [PATCH] Fix bug in placeholder spack cd command and add unit tests
 (#6776)

---
 lib/spack/spack/cmd/cd.py      |  5 +++--
 lib/spack/spack/main.py        |  2 +-
 lib/spack/spack/test/cmd/cd.py | 36 ++++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 3 deletions(-)
 create mode 100644 lib/spack/spack/test/cmd/cd.py

diff --git a/lib/spack/spack/cmd/cd.py b/lib/spack/spack/cmd/cd.py
index bf86ba573d..242064e2be 100644
--- a/lib/spack/spack/cmd/cd.py
+++ b/lib/spack/spack/cmd/cd.py
@@ -22,8 +22,9 @@
 # License along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##############################################################################
+from spack.cmd.common import print_module_placeholder_help
+
 import spack.cmd.location
-import spack.modules
 
 description = "cd to spack directories in the shell"
 section = "environment"
@@ -38,4 +39,4 @@ def setup_parser(subparser):
 
 
 def cd(parser, args):
-    spack.modules.print_help()
+    print_module_placeholder_help()
diff --git a/lib/spack/spack/main.py b/lib/spack/spack/main.py
index f32f712089..4c14c34bec 100644
--- a/lib/spack/spack/main.py
+++ b/lib/spack/spack/main.py
@@ -388,7 +388,7 @@ def __call__(self, *argv, **kwargs):
         Returns:
             (str): combined output and error as a string
 
-        On return, if ``fail_on_error`` is False, return value of comman
+        On return, if ``fail_on_error`` is False, return value of command
         is set in ``returncode`` property, and the error is set in the
         ``error`` property.  Otherwise, raise an error.
         """
diff --git a/lib/spack/spack/test/cmd/cd.py b/lib/spack/spack/test/cmd/cd.py
new file mode 100644
index 0000000000..8e9014bee8
--- /dev/null
+++ b/lib/spack/spack/test/cmd/cd.py
@@ -0,0 +1,36 @@
+##############################################################################
+# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/spack/spack
+# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack.main import SpackCommand
+
+
+cd = SpackCommand('cd')
+
+
+def test_cd():
+    """Sanity check the cd command to make sure it works."""
+
+    out = cd()
+
+    assert "To initialize spack's shell commands, you must run one of" in out
-- 
GitLab