#include #define SAGA_CHECK_EQUAL(x,y) std::cout << "check: " << x << " == " << y << std::endl; #define cmd "/Users/merzky/links/saga/core/test/cpp/test_helper/test_helper.pl -i" int main (int argc, char** argv) { saga::job::service js ("fork://localhost"); saga::job::ostream in; saga::job::istream out, err; std::cout << "running " << cmd << std::endl; saga::job::job job = js.run_job (cmd, "localhost", in, out, err); SAGA_CHECK_EQUAL (job.get_state (), saga::job::Running); std::string jobid = job.get_job_id (); // reconnect to the running applications saga::job::job job1 = js.get_job (jobid); std::cout << "state: " << job1.get_state () << " - " << saga::job::Running << std::endl; SAGA_CHECK_EQUAL (job1.get_state (), saga::job::Running); SAGA_CHECK_EQUAL (jobid, job1.get_job_id ()); in << "" << std::endl; job1.wait(); SAGA_CHECK_EQUAL (job1.get_state (), saga::job::Done); job.wait(); SAGA_CHECK_EQUAL (job.get_state (), saga::job::Done); return 0; }