diff --git a/testsuite/expect/globals b/testsuite/expect/globals
index e5966229e0ab4d611902ba35980d628b63bb9cbf..2a26eab4d9016abd630d1129412cc3c770b0d4fd 100755
--- a/testsuite/expect/globals
+++ b/testsuite/expect/globals
@@ -1193,6 +1193,38 @@ proc test_cray { } {
 
 	return $cray
 }
+
+################################################################
+#
+# Proc: test_emulated
+#
+# Purpose: Determine if the system is emulated (not running on
+#          actual Cray or Bluegene hardware
+#
+# Returns 1 if the system is emulated otherwise
+#
+################################################################
+
+proc test_emulated { } {
+	global scontrol bin_bash
+
+	log_user 0
+	set emulated 0
+	spawn -noecho $bin_bash -c "exec $scontrol show config"
+	expect {
+		"Emulated * = yes" {
+			set emulated 1
+			exp_continue
+		}
+		eof {
+			wait
+		}
+	}
+	log_user 1
+
+	return $emulated
+}
+
 ################################################################
 #
 # Proc: get_cycle_count
diff --git a/testsuite/expect/test1.31 b/testsuite/expect/test1.31
index 2770779934097a447243fc9f6fe8086f36949ee9..68f229007e310a2612903ad17b8c647dcd7f9653 100755
--- a/testsuite/expect/test1.31
+++ b/testsuite/expect/test1.31
@@ -43,7 +43,11 @@ set env_name_nnodes  "SLURM_NNODES"
 if { [test_bluegene] } {
 	set min_nodes        1
 	set max_nodes        1024
-	set env_valu_nprocs  5
+	if { [test_emulated] } {
+		set env_valu_nprocs  1
+	} else {
+		set env_valu_nprocs  32
+	}
 } else {
 	set min_nodes        1
 	set max_nodes        2
@@ -142,19 +146,22 @@ expect {
 
 if {$task_cnt != $env_valu_nprocs} {
 	send_user "\nFAILURE: did not process"
-	send_user " $env_name_nprocs environment variable\n"
+	send_user " $env_name_nprocs environment variable"
+	send_user " ($task_cnt != $env_valu_nprocs)\n"
 	set exit_code 1
 }
 # Note zero origin conversion
 incr max_node_val
 if {$max_node_val < $min_nodes} {
 	send_user "\nFAILURE: did not process"
-	send_user " $env_name_nnodes environment variable\n"
+	send_user " $env_name_nnodes environment variable"
+	send_user " ($max_node_val < $min_nodes)\n"
 	set exit_code 1
 }
 if {$max_node_val > $max_nodes} {
 	send_user "\nFAILURE: did not process"
-	send_user " $env_name_nnodes environment variable\n"
+	send_user " $env_name_nnodes environment variable"
+	send_user " ($max_node_val > $max_nodes)\n"
 	set exit_code 1
 }
 
diff --git a/testsuite/expect/test1.49 b/testsuite/expect/test1.49
index fab8ea0d3eff5963f61d1b806bb99c5027b3bf29..95f1b8bfd357876db5b3b05cc27b7f67c9187113 100755
--- a/testsuite/expect/test1.49
+++ b/testsuite/expect/test1.49
@@ -35,7 +35,6 @@ source ./globals
 set test_id              "1.49"
 set exit_code            0
 set cwd                  "[$bin_pwd]"
-set tasks                4
 set file_in		 "$cwd/test$test_id.in"
 set task_prolog          "$cwd/test$test_id.prolog"
 set task_epilog          "$cwd/test$test_id.epilog"
@@ -84,8 +83,14 @@ make_bash_script $file_in "
 #
 set matches 0
 set timeout [expr $max_job_delay + 30]
+set tasks   4
 if { [test_bluegene] } {
-	set node_cnt 1-1024
+	if { [test_emulated] } {
+		set node_cnt 1
+		set tasks    1
+	} else {
+		set node_cnt 1-1024
+	}
 } else {
 	set node_cnt 1-1
 }
diff --git a/testsuite/expect/test15.24 b/testsuite/expect/test15.24
index b9ef99614f60659748488b128127a4d17b3062b3..faa4addff95634a45db6eacf86f8a6795f113851 100755
--- a/testsuite/expect/test15.24
+++ b/testsuite/expect/test15.24
@@ -37,7 +37,6 @@ set exit_code   0
 set file_in     "test$test_id.input"
 set file_out    "test$test_id.output"
 set job_id      0
-set task_cnt    10
 
 print_header $test_id
 
@@ -45,6 +44,15 @@ if {[test_cray]} {
         send_user "\nWARNING: This test is incompatible with Cray systems\n"
         exit $exit_code
 }
+if { [test_bluegene] } {
+	if { [test_emulated] } {
+		set task_cnt 1
+	} else {
+		set task_cnt 10
+	}
+} else {
+	set task_cnt 10
+}
 
 #
 # Submit a slurm job that will print slurm env vars and execute 'id'
diff --git a/testsuite/expect/test16.4 b/testsuite/expect/test16.4
index 527b0f724c441a9b23a51e89d8c03250d022bda8..71ba7ed922a4b307218e90896b309fcd41676f59 100755
--- a/testsuite/expect/test16.4
+++ b/testsuite/expect/test16.4
@@ -49,6 +49,18 @@ if { [test_xcpu] } {
 	send_user "\nWARNING: This test is incompatible with XCPU systems\n"
 	exit 0
 }
+if { [test_bluegene] } {
+	if { [test_emulated] } {
+		set node_cnt 1
+		set task_cnt 1
+	} else {
+		set node_cnt 1-4
+		set task_cnt 4
+	}
+} else {
+	set node_cnt 1-4
+	set task_cnt 4
+}
 
 #
 # Delete left-over program and rebuild it
@@ -61,7 +73,7 @@ exec $bin_chmod 700 $file_prog
 # Spawn initial program via srun
 #
 set timeout $max_job_delay
-set salloc_pid [spawn $salloc -N1-4 -t2 $srun -n4 --overcommit $file_prog]
+set salloc_pid [spawn $salloc -N $node_cnt -t2 $srun -n $task_cnt --overcommit $file_prog]
 set init_id $spawn_id
 expect {
         -i $init_id
@@ -71,7 +83,7 @@ expect {
 	}
 	-re "WAITING" {
 		incr matches
-		if {$matches != 4} {
+		if {$matches != $task_cnt} {
 			exp_continue
 		}
 	}
@@ -91,7 +103,7 @@ if {$job_id == 0} {
 	send_user "\nFAILURE: job submit failure\n"
 	exit 1
 }
-if {$matches != 4} {
+if {$matches != $task_cnt} {
 	send_user "\nFAILURE: job run time failure\n"
 	exit 1
 }
@@ -104,7 +116,7 @@ spawn $sattach --layout $job_id.0
 set attach_id $spawn_id
 expect {
 	-i $attach_id
-	-re "4 tasks, ($number) nodes" {
+	-re "($number) tasks, ($number) nodes" {
 		incr matches
 		exp_continue
 	}
@@ -126,12 +138,12 @@ if {$matches == 0} {
 #
 set matches     0
 set timeout     10
-set attach_pid [spawn $sattach -l --output-filter=2 $job_id.0]
+set attach_pid [spawn $sattach -l --output-filter=[expr $task_cnt - 1] $job_id.0]
 set attach_id $spawn_id
 expect {
         -i $attach_id
 	-re "($number): WAITING" {
-		if {$expect_out(1,string) != 2} {
+		if {$expect_out(1,string) != [expr $task_cnt - 1]} {
 			send_user "\nFAILURE: output filtering by task failed\n"
 			set exit_code 1
 		} else {
@@ -168,7 +180,7 @@ expect {
 	}
 	-re "($number): WAITING" {
 		incr matches
-		if {$matches == 4} {
+		if {$matches == [expr $task_cnt + 1]} {
 			send -i $attach_id "exit\r"
 		}
 		exp_continue
@@ -181,8 +193,8 @@ expect {
 		wait
 	}
 }
-if {$matches != 5} {
-	send_user "\nFAILURE: job run time failure\n"
+if {$matches != [expr $task_cnt + 1]} {
+	send_user "\nFAILURE: job run time failure ($matches != [expr $task_cnt + 1])\n"
 	set exit_code 1
 }
 
diff --git a/testsuite/expect/test17.32 b/testsuite/expect/test17.32
index a278f00442c4c68ba56846440eab2038c94a9f9e..6762483fbc620ed9abd3b44fa8158334d48f4a80 100755
--- a/testsuite/expect/test17.32
+++ b/testsuite/expect/test17.32
@@ -37,7 +37,6 @@ set exit_code   0
 set file_in     "test$test_id.input"
 set file_out    "test$test_id.output"
 set job_id      0
-set task_cnt    10
 
 print_header $test_id
 
@@ -57,6 +56,15 @@ make_bash_script $file_in "
 #
 # Submit a slurm job that will execute 'id' on 1 node and over task_cnt tasks
 #
+if { [test_bluegene] } {
+	if { [test_emulated] } {
+		set task_cnt 1
+	} else {
+		set task_cnt 10
+	}
+} else {
+	set task_cnt 10
+}
 spawn $sbatch --ntasks=$task_cnt --overcommit -N1 --output=$file_out -t1 $file_in
 expect {
 	-re "Submitted batch job ($number)" {
@@ -113,7 +121,7 @@ if {$matches != 2} {
 }
 if {$task_cnt != $tasks} {
 	send_user "\nFAILURE: Did not get proper number of tasks: "
-	send_user "$task_cnt, $tasks\n"
+	send_user "($task_cnt != $tasks)\n"
 	set exit_code 1
 }
 
diff --git a/testsuite/expect/test7.2 b/testsuite/expect/test7.2
index 87bb5a29ea94390dd163cce5ac89fbd91e58f43a..49c5e69f0bed6de852287a078642489e33338417 100755
--- a/testsuite/expect/test7.2
+++ b/testsuite/expect/test7.2
@@ -87,8 +87,13 @@ if { $exit_code == 0 } {
 #
 set timeout $max_job_delay
 if { [test_bluegene] } {
-	set node_cnt 1-1024
-	set task_cnt 8
+	if { [test_emulated] } {
+		set node_cnt 1
+		set task_cnt 1
+	} else {
+		set node_cnt 1-1024
+		set task_cnt 8
+	}
 } else {
 	if { [test_xcpu] } {
 		set node_cnt 1-1
diff --git a/testsuite/expect/test9.1 b/testsuite/expect/test9.1
index 10568c42af77ee8af539f300b3c501d381baa7c7..e3bf2689ec7abaf73d40f2c6b4de4e3a6f41477d 100755
--- a/testsuite/expect/test9.1
+++ b/testsuite/expect/test9.1
@@ -40,11 +40,16 @@ set exit_code    0
 set file_in      "test$test_id.input"
 set file_out     "test$test_id.output"
 set job_name     "test$test_id"
-set task_cnt     $max_stress_tasks
 
 set cycle_count [get_cycle_count]
+set task_cnt    $max_stress_tasks
 if { [test_bluegene] } {
-	set node_cnt 1-2048
+	if { [test_emulated] } {
+		set node_cnt 1
+		set task_cnt 1
+	} else {
+		set node_cnt 1-2048
+	}
 } else {
 	if { [test_xcpu] } {
 		set node_cnt 1-1
diff --git a/testsuite/expect/test9.2 b/testsuite/expect/test9.2
index 71f5873e507783ea14950f1b37aaddc8080b9c0a..c7b9535d6e0bf16849e0ca86ef7d1e24c748b453 100755
--- a/testsuite/expect/test9.2
+++ b/testsuite/expect/test9.2
@@ -41,8 +41,14 @@ set file_out     "test$test_id.output"
 set job_name     "test$test_id"
 
 set cycle_count [get_cycle_count]
+set task_cnt    $max_stress_tasks
 if { [test_bluegene] } {
-	set node_cnt 1-2048
+	if { [test_emulated] } {
+		set node_cnt 1
+		set task_cnt 1
+	} else {
+		set node_cnt 1-2048
+	}
 } else {
 	if { [test_xcpu] } {
 		set node_cnt 1-1
@@ -51,7 +57,6 @@ if { [test_bluegene] } {
 	}
 }
 set other_opts   "-O"
-set task_cnt     $max_stress_tasks
 
 print_header $test_id
 
diff --git a/testsuite/expect/test9.3 b/testsuite/expect/test9.3
index f54318bef8b817ed1474e0b6c62aa31ce61fc67b..7e41c4db73b552ecc25ace21ac1656331d03fb14 100755
--- a/testsuite/expect/test9.3
+++ b/testsuite/expect/test9.3
@@ -42,8 +42,14 @@ set file_out     "test$test_id.output"
 set job_name     "test$test_id"
 
 set cycle_count [get_cycle_count]
+set task_cnt    $max_stress_tasks
 if { [test_bluegene] } {
-	set node_cnt 1-2048
+	if { [test_emulated] } {
+		set node_cnt 1
+		set task_cnt 1
+	} else {
+		set node_cnt 1-2048
+	}
 } else {
 	if { [test_xcpu] } {
 		set node_cnt 1-1
@@ -52,7 +58,6 @@ if { [test_bluegene] } {
 	}
 }
 set other_opts   "-O"
-set task_cnt      $max_stress_tasks
 
 print_header $test_id
 
diff --git a/testsuite/expect/test9.4 b/testsuite/expect/test9.4
index 65dbbec8c4d9021cd88510e2bbec11e0ac771e07..6f6f4635c5ced2484eacbfb76a73b89535a762f6 100755
--- a/testsuite/expect/test9.4
+++ b/testsuite/expect/test9.4
@@ -48,8 +48,14 @@ set file_out_task "test$test_id.%t.output"
 set job_name      "test$test_id"
 
 set cycle_count [get_cycle_count]
+set task_cnt    $max_stress_tasks
 if { [test_bluegene] } {
-	set node_cnt 1-2048
+	if { [test_emulated] } {
+		set node_cnt 1
+		set task_cnt 1
+	} else {
+		set node_cnt 1-2048
+	}
 } else {
 	if { [test_xcpu] } {
 		set node_cnt 1-1
@@ -57,9 +63,7 @@ if { [test_bluegene] } {
 		set node_cnt 1-4
 	}
 }
-
 set other_opts    "-O"
-set task_cnt      $max_stress_tasks
 
 print_header $test_id
 
@@ -148,6 +152,7 @@ for {set inx 0} {$inx < $cycle_count} {incr inx} {
 				send_user "\nFAILURE:stdout is incomplete\n"
 			}
 			set exit_code 1
+			break
 		} else {
 			incr success_cnt
 		}
diff --git a/testsuite/expect/test9.5 b/testsuite/expect/test9.5
index a5691b117081682fa2d8568af06f989d359656a9..b8f2936c2b167d500726cc9886393cab2714868a 100755
--- a/testsuite/expect/test9.5
+++ b/testsuite/expect/test9.5
@@ -40,8 +40,14 @@ set file_out      "test$test_id.output"
 set job_name      "test$test_id"
 
 set cycle_count [get_cycle_count]
+set task_cnt    $max_stress_tasks
 if { [test_bluegene] } {
-	set node_cnt 1-2048
+	if { [test_emulated] } {
+		set node_cnt 1
+		set task_cnt 1
+	} else {
+		set node_cnt 1-2048
+	}
 } else {
 	if { [test_xcpu] } {
 		set node_cnt 1-1
@@ -50,7 +56,6 @@ if { [test_bluegene] } {
 	}
 }
 set other_opts    "-O"
-set task_cnt      $max_stress_tasks
 
 print_header $test_id
 
@@ -132,6 +137,7 @@ for {set inx 0} {$inx < $cycle_count} {incr inx} {
 			send_user "\nFAILURE:stdout is incomplete\n"
 		}
 		set exit_code 1
+		break
 	} else {
 		incr success_cnt
 	}
diff --git a/testsuite/expect/test9.6 b/testsuite/expect/test9.6
index 2952e1f8922c3e742d38e2a2d425542ac34cdbd3..9c50cbc9ade0b3ddb3120778c48de6c0e2318f07 100755
--- a/testsuite/expect/test9.6
+++ b/testsuite/expect/test9.6
@@ -42,8 +42,14 @@ set file_out     "test$test_id.output"
 set job_name     "test$test_id"
 
 set cycle_count [get_cycle_count]
+set task_cnt    $max_stress_tasks
 if { [test_bluegene] } {
-	set node_cnt 1-2048
+	if { [test_emulated] } {
+		set node_cnt 1
+		set task_cnt 1
+	} else {
+		set node_cnt 1-2048
+	}
 } else {
 	if { [test_xcpu] } {
 		set node_cnt 1-1
@@ -51,9 +57,7 @@ if { [test_bluegene] } {
 		set node_cnt 1-4
 	}
 }
-
 set other_opts   "-O"
-set task_cnt      $max_stress_tasks
 
 print_header $test_id