summaryrefslogtreecommitdiff
path: root/spec/functional/knife
diff options
context:
space:
mode:
authordanielsdeleo <dan@opscode.com>2013-01-24 16:33:34 -0800
committerdanielsdeleo <dan@opscode.com>2013-01-24 16:51:05 -0800
commit9bd21a19a6e0d1d4b3a7a9bbb8f3f1ad14f99437 (patch)
tree6373831c053bdc231cbc211b5a51004b2b2478ad /spec/functional/knife
parent34e42e1e3ddc8e7120aed028bbc9b2c71b791a76 (diff)
downloadchef-9bd21a19a6e0d1d4b3a7a9bbb8f3f1ad14f99437.tar.gz
[CHEF-3793] fix missing requires, add smoke test for knife
Diffstat (limited to 'spec/functional/knife')
-rw-r--r--spec/functional/knife/smoke_test.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/functional/knife/smoke_test.rb b/spec/functional/knife/smoke_test.rb
new file mode 100644
index 0000000000..6ccd462516
--- /dev/null
+++ b/spec/functional/knife/smoke_test.rb
@@ -0,0 +1,34 @@
+#
+# Author:: Daniel DeLeo (<dan@opscode.com>)
+# Copyright:: Copyright (c) 2010 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'spec_helper'
+
+describe "knife smoke tests" do
+
+ # Since our specs load all code, there could be a case where knife does not
+ # run correctly b/c of a missing require, but is not caught by other tests.
+ #
+ # We run `knife -v` to verify that knife at least loads all its code.
+ it "can run and print its version" do
+ knife_path = File.expand_path("../../bin/knife", CHEF_SPEC_DATA)
+ knife_cmd = Mixlib::ShellOut.new("#{knife_path} -v")
+ knife_cmd.run_command
+ knife_cmd.error!
+ knife_cmd.stdout.should include(Chef::VERSION)
+ end
+end