diff --git a/testsuite/expect/README b/testsuite/expect/README
index 53b2fa9172003c9e9270b0a0902d42ee2de528b4..a38429ea40b6399b9d15f711ab14a940ac87b178 100644
--- a/testsuite/expect/README
+++ b/testsuite/expect/README
@@ -359,6 +359,9 @@ test15.18  Test of running non-existant job, confirm timely termination.
 test15.19  Confirm that a job executes with the proper node count
            (--nodes option).
 test15.20  Test of contiguous option with multiple nodes (--contiguous option).
+test15.21  Test of contiguous option with multiple nodes (--contiguous option).
+test15.22  Test of partition specification on job submission (--partition  
+           option).
 
 
 test16.#   Testing of sattach options.
diff --git a/testsuite/expect/test15.22 b/testsuite/expect/test15.22
new file mode 100755
index 0000000000000000000000000000000000000000..d9decbdfec84cd191532397e52353a34a98cbc47
--- /dev/null
+++ b/testsuite/expect/test15.22
@@ -0,0 +1,186 @@
+#!/usr/bin/expect
+############################################################################
+# Purpose: Test of SLURM functionality
+#          Test of partition specification on job submission (--partition  
+#          option).
+#
+# Output:  "TEST: #.#" followed by "SUCCESS" if test was successful, OR
+#          "WARNING: ..." with an explanation of why the test can't be made, OR
+#          "FAILURE: ..." otherwise with an explanation of the failure, OR
+#          anything else indicates a failure mode that must be investigated.
+############################################################################
+# Copyright (C) 2002-2006 The Regents of the University of California.
+# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
+# Written by Morris Jette <jette1@llnl.gov>
+# UCRL-CODE-217948.
+# 
+# This file is part of SLURM, a resource management program.
+# For details, see <http://www.llnl.gov/linux/slurm/>.
+#  
+# 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.,
+# 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.
+############################################################################
+source ./globals
+
+set test_id          "15.22"
+set def_part_name    ""
+set exit_code        0
+set file_in          "test$test_id.input"
+set job_id           0
+set other_part_name  ""
+
+print_header $test_id
+
+#
+# Identify the partitions in the cluster, identifying the default
+#
+spawn $sinfo --summarize  
+expect {
+	-re "($end_of_line)($alpha_numeric)(\[ \*\]) *up" {
+		if (![string compare $expect_out(3,string) "*"]) {
+			set def_part_name   $expect_out(2,string)
+		} else {
+			set other_part_name $expect_out(2,string)
+		}
+		exp_continue
+	}
+	-re "Unable to contact" {
+		send_user "\nFAILURE: slurm appears to be down\n"
+		exit 1
+	}
+	timeout {
+		send_user "\nFAILURE: sinfo not responding\n"
+		set exit_code 1
+	}
+	eof {
+		wait
+	}
+}
+
+#
+# Submit a job explicitly to the default partition
+#
+set job_id  0
+set timeout $max_job_delay
+set salloc_pid [spawn $salloc --partition=$def_part_name -t1 $bin_sleep 1] 
+expect {
+	-re "Granted job allocation ($number)" {
+		set job_id $expect_out(1,string)
+		exp_continue
+	}
+	timeout {
+		send_user "\nFAILURE: salloc not responding\n"
+		if {$job_id == 0} {
+			slow_kill $salloc_pid
+		} else {
+			cancel_job $job_id
+		}
+		set exit_code 1
+		exp_continue
+	}
+	eof {
+		wait
+	}
+}
+# Confirm the job's partition
+if {$job_id == 0} {
+	send_user "\nFAILURE: job submit failure\n"
+	set exit_code 1
+} else {
+	set read_part ""
+	spawn $scontrol show job $job_id
+	expect {
+		-re "Partition=($alpha_numeric)" {
+			set read_part $expect_out(1,string)
+			exp_continue
+		}
+		timeout {
+			send_user "\nFAILURE: scontrol not responding\n"
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+	if ([string compare $read_part $def_part_name]) {
+		send_user "\nFAILURE: Improper partition selected\n"
+		set exit_code 1
+	}
+	cancel_job $job_id
+}
+
+#
+# Test if a non-default partition exists, terminate if none
+#
+if (![string compare $other_part_name ""]) {
+	send_user "\nWARNING: can't test salloc partition option"
+	send_user " only the default partition exists\n"
+	exit $exit_code
+}
+
+#
+# Submit job explicitly to a non-default partition
+#
+set job_id           0
+set salloc_pid [spawn $salloc --partition=$other_part_name -t1 $bin_sleep 1] 
+expect {
+	-re "Granted job allocation ($number)" {
+		set job_id $expect_out(1,string)
+		exp_continue
+	}
+	timeout {
+		send_user "\nFAILURE: srun not responding\n"
+		if {$job_id == 0} {
+			slow_kill $salloc_pid
+		} else {
+			cancel_job $job_id
+		}
+		set exit_code 1
+		exp_continue
+	}
+	eof {
+		wait
+	}
+}
+# Confirm the job's partition
+if {$job_id == 0} {
+	send_user "\nFAILURE: batch submit failure\n"
+	set exit_code 1
+} else {
+	set read_part ""
+	spawn $scontrol show job $job_id
+	expect {
+		-re "Partition=($alpha_numeric)" {
+			set read_part $expect_out(1,string)
+			exp_continue
+		}
+		timeout {
+			send_user "\nFAILURE: scontrol not responding\n"
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+	if ([string compare $read_part $other_part_name]) {
+		send_user "\nFAILURE: Improper partition selected\n"
+		set exit_code 1
+	}
+	cancel_job $job_id
+}
+
+if {$exit_code == 0} {
+	send_user "\nSUCCESS\n"
+}
+exit $exit_code