test/test_torque_helper.rb in osc-machete-2.0.0.pre2 vs test/test_torque_helper.rb in osc-machete-2.0.0

- old
+ new

@@ -104,11 +104,11 @@ end # Test that qdel works for quick batch def test_qdel_quick PBS::Batch.any_instance.stubs(:delete_job).returns(true) - assert_equal true, @shell.qdel("123.quick-batch.osc.edu") + assert_equal true, @shell.qdel("123.quick-batch.ten.osc.edu") PBS::Batch.any_instance.unstub(:delete_job) end # Test that qdel works for Ruby cluster def test_qdel_ruby @@ -118,22 +118,22 @@ end # Test that qdel throws exception on PBS exception def test_qdel_throws_exception PBS::Batch.any_instance.stubs(:delete_job).raises(PBS::Error) - assert_raises(PBS::Error) { @shell.qdel("123.quick-batch.osc.edu") } + assert_raises(PBS::Error) { @shell.qdel("123.quick-batch.ten.osc.edu") } PBS::Batch.any_instance.unstub(:delete_job) PBS::Batch.any_instance.stubs(:delete_job).raises(PBS::SystemError) - assert_raises(PBS::SystemError) { @shell.qdel("123.quick-batch.osc.edu") } + assert_raises(PBS::SystemError) { @shell.qdel("123.quick-batch.ten.osc.edu") } PBS::Batch.any_instance.unstub(:delete_job) end # Test that qdel doesn't throw exception if Unknown Job Id exception def test_qdel_doesnt_throw_exception_on_unknown_job_id PBS::Batch.any_instance.stubs(:delete_job).raises(PBS::UnkjobidError) - @shell.qdel("123.quick-batch.osc.edu") + @shell.qdel("123.quick-batch.ten.osc.edu") PBS::Batch.any_instance.unstub(:delete_job) end def assert_qsub_dependency_list(dependency_list, dependencies, host=nil) assert_equal dependency_list, @shell.qsub_dependencies_header(dependencies) @@ -203,7 +203,52 @@ PBS::Batch.any_instance.expects(:submit_script).with(@script_oakley, has_entry(headers: {})).returns('1234598.oak-batch.osc.edu') @shell.qsub(@script_oakley) PBS::Batch.any_instance.unstub(:submit_script) @shell.unstub(:default_account_string) + end + + def test_pbs_default_host + s = @shell.pbs + assert_equal 'oak-batch.osc.edu', s.host + assert_equal OSC::Machete::TorqueHelper::LIB, s.lib.to_s + assert_equal OSC::Machete::TorqueHelper::BIN, s.bin.to_s + end + + def test_pbs_host_variations + # you can use the cluster ids + assert_equal 'ruby-batch.ten.osc.edu', @shell.pbs(host: 'ruby').host + + # or you can use the host itself + assert_equal 'ruby-batch.osc.edu', @shell.pbs(host: 'ruby-batch.osc.edu').host + assert_equal '@ruby-batch', @shell.pbs(host: '@ruby-batch').host + + assert_equal 'ruby-batch.ten.osc.edu', @shell.pbs(id: '4567').host + assert_equal 'ruby-batch.ten.osc.edu', @shell.pbs(script: @script_ruby).host + assert_equal 'oak-batch.osc.edu', @shell.pbs(script: @script_oakley).host + end + + def test_setting_default_torque_helper + d = OSC::Machete::TorqueHelper.default + + assert_equal 'oak-batch.osc.edu', OSC::Machete::TorqueHelper.default.pbs.host + + # this is an example of how you can quickly modify the default behavior of + # a TorqueHelper instance to provide a new host, id, and script + d2 = OSC::Machete::TorqueHelper.new + class << d2 + def pbs(host: nil, id: nil, script: nil) + PBS::Batch.new( + host: "ruby-batch.osc.edu", + lib: LIB, + bin: BIN + ) + end + end + + OSC::Machete::TorqueHelper.default = d2 + + assert_equal 'ruby-batch.osc.edu', OSC::Machete::TorqueHelper.default.pbs.host + + OSC::Machete::TorqueHelper.default = d end end