diff --git a/testsuite/expect/Makefile.am b/testsuite/expect/Makefile.am
index 1889a2d007522b24ddb41b687bf814dca91080f9..88270c5ec08d6a551360f565fa32b8299705be43 100644
--- a/testsuite/expect/Makefile.am
+++ b/testsuite/expect/Makefile.am
@@ -319,6 +319,7 @@ EXTRA_DIST = \
 	test21.24			\
 	test21.25			\
 	test22.1			\
+	test22.2			\
 	test23.1			\
 	test23.2			\
 	test23.3			\
diff --git a/testsuite/expect/Makefile.in b/testsuite/expect/Makefile.in
index 5b86480d7f97ad182f444daa9cd6d92600bbac71..85aa3513873a5973c34506deefde34347f6c948f 100644
--- a/testsuite/expect/Makefile.in
+++ b/testsuite/expect/Makefile.in
@@ -558,6 +558,7 @@ EXTRA_DIST = \
 	test21.24			\
 	test21.25			\
 	test22.1			\
+	test22.2			\
 	test23.1			\
 	test23.2			\
 	test23.3			\
diff --git a/testsuite/expect/README b/testsuite/expect/README
index b3cd03c854627f21f4d2367847efa8810a7acb13..7a82d3ceafee6836df8a97be781682eab3c6028c 100644
--- a/testsuite/expect/README
+++ b/testsuite/expect/README
@@ -530,6 +530,7 @@ test22.#   Testing of sreport commands and options.
            These also test the sacctmgr archive dump/load functions.
 =================================================
 test22.1   sreport cluster utilization report
+test22.2   sreport h, n, p, P, v, V options
 
 test23.#   Testing of sstat commands and options.
 =================================================
diff --git a/testsuite/expect/test22.2 b/testsuite/expect/test22.2
new file mode 100755
index 0000000000000000000000000000000000000000..41ea30b9a1ae94581ee2dd2656284111ce0383d7
--- /dev/null
+++ b/testsuite/expect/test22.2
@@ -0,0 +1,441 @@
+#!/usr/bin/expect
+############################################################################
+# Purpose: Test of SLURM sreport functionality
+#          sreport h, V options.
+#
+# Output:  "TEST: #.#" followed by "SUCCESS" if test was successful, OR
+#          "FAILURE: ..." otherwise with an explanation of the failure, OR
+#          anything else indicates a failure mode that must be investigated.
+############################################################################
+# Copyright (C) 2009 Lawrence Livermore National Security.
+# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
+# Written by Joseph Donaghy <donaghy1@llnl.gov>
+# CODE-OCEC-09-009. All rights reserved.
+# 
+# This file is part of SLURM, a resource management program.
+# For details, see <https://computing.llnl.gov/linux/slurm/>.
+# Please also read the included file: DISCLAIMER.
+#  
+# SLURM is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option)
+# any later version.
+# 
+# SLURM 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 GNU General Public License for more
+# details.
+# 
+# You should have received a copy of the GNU General Public License along
+# with SLURM; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA.
+############################################################################
+source ./globals
+
+set test_id     "24.2"
+set exit_code   0
+set timeout 60
+print_header $test_id
+
+#
+# Check accounting config and bail if not found.
+#
+if { [test_account_storage] == 0 } {
+	send_user "\nWARNING: This test can't be run without a usable AccountStorageType\n"
+	exit 0
+}
+
+################################################################
+#
+# Proc: sshare_opt
+#
+# Purpose:  Pass sshare options and test
+#
+# Returns: Number of matches.
+#
+# Input: Switch options not requiring arguments
+#
+################################################################
+
+proc sshare_opt { soption } {
+	global sshare
+	set debug       0
+	set exit_code   0
+	set matches     0
+	set not_support 0
+	send_user "$sshare -$soption \n"
+
+	if { $soption == "-help"|| $soption == "-usage" || $soption == "h" } {
+
+	spawn $sshare -$soption
+	expect {
+		-re "SLURM accounting storage is disabled" {
+			set not_support 1
+			exp_continue
+		}
+		-re "You are not running a supported priority plugin" {
+			set not_support 2
+			exp_continue
+		}
+		-re "sshare...OPTION.....COMMAND" {
+			if {$debug} {send_user "\nmatch1\n"}
+			incr matches
+			exp_continue
+		}
+		-re "Valid .OPTION. values are" {
+			if {$debug} {send_user "\nmatch2\n"}
+			incr matches
+			exp_continue
+		}
+		-re "Valid .COMMAND. values are" {
+			if {$debug} {send_user "\nmatch3\n"}
+			incr matches
+			exp_continue
+		}
+		timeout {
+			send_user "\nFAILURE: sshare not responding\n"
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+
+	if {$not_support == 1} {
+		send_user "\nWARNING: can not test without accounting enabled\n"
+		exit 0
+	}
+
+	if {$not_support == 2} {
+		send_user "\nWARNING: can not test without priority/multifactor plugin\n"
+		exit 0
+	}
+
+	if {$matches != 3} {
+		send_user "\nFAILURE: sshare -$soption failed ($matches)\n"
+		set exit_code 1
+	}
+	return $matches
+}
+
+	if { $soption == "-no_header" || $soption == "n" } {
+
+	spawn $sshare -$soption
+	expect {
+		-re "SLURM accounting storage is disabled" {
+			set not_support 1
+			exp_continue
+		}
+		-re "You are not running a supported priority plugin" {
+			set not_support 2
+			exp_continue
+		}
+		-re "Account|User|Raw Shares|Norm Shares|Raw Usage|Norm Usage|Effectv Usage" {	
+			if {$debug} {send_user "\nmatch4\n"}
+			incr matches
+			exp_continue
+		}
+		timeout {
+			send_user "\nFAILURE: sshare not responding\n"
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+
+	if {$not_support == 1} {
+		send_user "\nWARNING: can not test without accounting enabled\n"
+		exit 0
+	}
+
+	if {$not_support == 2} {
+		send_user "\nWARNING: can not test without priority/multifactor plugin\n"
+		exit 0
+	}
+
+	if {$matches != 0} {
+		send_user "\nFAILURE: sshare -$soption failed ($matches)\n"
+		set exit_code 1
+	}
+	return $matches
+}
+
+	if { $soption == "-parsable" || $soption == "p" } {
+
+	spawn $sshare -$soption
+	expect {
+		-re "SLURM accounting storage is disabled" {
+			set not_support 1
+			exp_continue
+		}
+		-re "You are not running a supported priority plugin" {
+			set not_support 2
+			exp_continue
+		}
+		-re "Account\\|User\\|Raw Shares\\|Norm Shares\\|" {
+			if {$debug} {send_user "\nmatch5\n"}
+			incr matches
+			exp_continue
+		}
+		-re "Raw Usage\\|Norm Usage\\|Effectv Usage\\|" {
+			if {$debug} {send_user "\nmatch5\n"}
+			incr matches
+			exp_continue
+		}
+		timeout {
+			send_user "\nFAILURE: sshare not responding\n"
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+
+	if {$not_support != 0} {
+		send_user "\nWARNING: can not test without accounting enabled\n"
+		exit 0
+	}
+	if {$matches != 2} {
+		send_user "\nFAILURE: sshare -$soption failed ($matches)\n"
+		set exit_code 1
+	}
+	return $matches
+}
+
+	if { $soption == "-parsable2" || $soption == "P" } {
+
+	spawn $sshare -$soption
+	expect {
+		-re "SLURM accounting storage is disabled" {
+			set not_support 1
+			exp_continue
+		}
+		-re "You are not running a supported priority plugin" {
+			set not_support 2
+			exp_continue
+		}
+		-re "Account\\|User\\|Raw Shares\\|Norm Shares\\|" {
+			if {$debug} {send_user "\nmatch6\n"}
+			incr matches
+			exp_continue
+		}
+		-re "Raw Usage\\|Norm Usage\\|Effectv Usage" {
+			if {$debug} {send_user "\nmatch7\n"}
+			incr matches
+			exp_continue
+		}
+		-re "Raw Usage\\|Norm Usage\\|Effectv Usage\\|" {
+			if {$debug} {send_user "\nmatch8\n"}
+			incr matches
+			exp_continue
+		}
+		timeout {
+			send_user "\nFAILURE: sshare not responding\n"
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+
+	if {$not_support == 1} {
+		send_user "\nWARNING: can not test without accounting enabled\n"
+		exit 0
+	}
+
+	if {$not_support == 2} {
+		send_user "\nWARNING: can not test without priority/multifactor plugin\n"
+		exit 0
+	}
+
+	if {$matches != 2} {
+		send_user "\nFAILURE: sshare -$soption failed ($matches)\n"
+		set exit_code 1
+	}
+		return $matches
+	}
+
+	if { $soption == "-verbose" || $soption == "v" } {
+
+	spawn $sshare -$soption
+	expect {
+		-re "SLURM accounting storage is disabled" {
+			set not_support 1
+			exp_continue
+		}
+		-re "You are not running a supported priority plugin" {
+			set not_support 2
+			exp_continue
+		}
+		-re "Users requested" {
+			if {$debug} {send_user "\nmatch9\n"}
+			incr matches
+			exp_continue
+		}
+		-re "Accounts requested" {
+			if {$debug} {send_user "\nmatch10\n"}
+			incr matches
+			exp_continue
+		}
+		-re "sshare: Null authentication plugin loaded" {
+			if {$debug} {send_user "\nmatch11\n"}
+			incr matches
+			exp_continue
+		}
+		timeout {
+			send_user "\nFAILURE: sshare not responding\n"
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+
+	if {$not_support == 1} {
+		send_user "\nWARNING: can not test without accounting enabled\n"
+		exit 0
+	}
+
+	if {$not_support == 2} {
+		send_user "\nWARNING: can not test without priority/multifactor plugin\n"
+		exit 0
+	}
+
+	if {$matches != 3} {
+		send_user "\nFAILURE: sshare -$soption failed ($matches)\n"
+		set exit_code 1
+	}
+		return $matches
+	}
+
+
+	if { $soption == "-version" || $soption == "V" } {
+
+	spawn $sshare -$soption
+	expect {
+		-re "SLURM accounting storage is disabled" {
+			set not_support 1
+			exp_continue
+		}
+		-re "You are not running a supported priority plugin" {
+			set not_support 2
+			exp_continue
+		}
+		-re "slurm 1.4.0-pre8" {
+			if {$debug} {send_user "\nmatch12\n"}
+			incr matches
+			exp_continue
+		}
+		timeout {
+			send_user "\nFAILURE: sshare not responding\n"
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+
+	if {$not_support == 1} {
+		send_user "\nWARNING: can not test without accounting enabled\n"
+		exit 0
+	}
+
+	if {$not_support == 2} {
+		send_user "\nWARNING: can not test without priority/multifactor plugin\n"
+		exit 0
+	}
+
+	if {$matches != 1} {
+		send_user "\nFAILURE: sshare -$soption failed ($matches)\n"
+		set exit_code 1
+	}
+		return $matches
+	}
+}
+
+################################################################
+
+set matches [sshare_opt h ]
+if {$matches != 3} {
+	send_user "\nFAILURE: sshare -h failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt -help ]
+if {$matches != 3} {
+	send_user "\nFAILURE: sshare --help failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt -usage ]
+if {$matches != 3} {
+	send_user "\nFAILURE: sshare --usage failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt n ]
+if {$matches != 0} {
+	send_user "\nFAILURE: sshare -n failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt -no_header ]
+if {$matches != 0} {
+	send_user "\nFAILURE: sshare --no_header failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt p ]
+if {$matches != 2} {
+	send_user "\nFAILURE: sshare -p failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt -parsable ]
+if {$matches != 2} {
+	send_user "\nFAILURE: sshare --parsable failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt P ]
+if {$matches != 2} {
+	send_user "\nFAILURE: sshare -P failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt -parsable2 ]
+if {$matches != 2} {
+	send_user "\nFAILURE: sshare --parsable2 failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt v ]
+if {$matches != 3} {
+	send_user "\nFAILURE: sshare -v failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt -verbose ]
+if {$matches != 3} {
+	send_user "\nFAILURE: sshare --verbose failed ($matches)\n"
+	set exit_code 1
+}
+
+
+set matches [sshare_opt V ]
+if {$matches != 1} {
+	send_user "\nFAILURE: sshare -v failed ($matches)\n"
+	set exit_code 1
+}
+
+set matches [sshare_opt -version ]
+if {$matches != 1} {
+	send_user "\nFAILURE: sshare --verbose failed ($matches)\n"
+	set exit_code 1
+}
+
+if {$exit_code == 0} {
+	send_user "\nSUCCESS\n"
+}
+exit $exit_code