diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -91,7 +91,7 @@ int import_general_info(struct general_i int update_xml_joblist(struct general_info *geninfo); /* **************Test Functions**************** */ -int interactiveTest(int test, struct general_info general_info, distrend_mysql_conn_t conn); +int interactiveTest(int test, struct general_info *general_info); /* **************** Main ********************* */ int main(int argc, char *argv[]) @@ -139,12 +139,14 @@ int main(int argc, char *argv[]) if(mysqlConnect(&general_info.conn)) { fprintf(stderr, "%s:%d: mysqlConnect() failed\n", __FILE__, __LINE__); + fprintf(stderr, "don't test mysql stuff\n"); + interactiveTest(test, &general_info); return 1; } fprintf(stderr,"Finished connecting!\n"); /** Execute test function */ - interactiveTest(test, general_info, general_info.conn); + interactiveTest(test, &general_info); distrend_listen(general_info.config, &clients); @@ -418,14 +420,17 @@ int update_xml_joblist(struct general_in /** Interactive test for the queuing system */ /* @QUEUE: Test uses methods not present in C code using mysql web-based system */ -int interactiveTest(int test, struct general_info general_info, distrend_mysql_conn_t conn){ +int interactiveTest(int test, struct general_info *geninfo) +{ int command; - fprintf(stderr,"Hello!\n"); int32_t slaveKey = 1; jobnum_t jobKey = 0; int32_t frameNum = 0; int32_t newPriority = 0; int tmp = 0; + struct distrend_clientset *clients; + + fprintf(stderr,"Hello!\n"); while(test == 1) { @@ -434,7 +439,8 @@ int interactiveTest(int test, struct gen fprintf(stderr, "\t2 \tChange job priority\n"); fprintf(stderr, "\t3 \tSet frame finished\n"); fprintf(stderr, "\t4 \tSet frame started\n"); - fprintf(stderr, "\t5 \tQuit\n"); + fprintf(stderr, "\t5 \tStart listener\n"); + fprintf(stderr, "\t0 \tQuit\n"); scanf("%d", &command); @@ -444,10 +450,10 @@ int interactiveTest(int test, struct gen fprintf(stderr,"Slave Key: "); scanf("%d", &slaveKey); fprintf(stderr, "Got frame: "); - if(find_jobframe(conn, slaveKey, &jobKey, &frameNum)) + if(find_jobframe(geninfo->conn, slaveKey, &jobKey, &frameNum)) fprintf(stderr,"No frames available to render!\n"); else if(jobKey == -1) - fprintf(stderr,"Slave &d has no render power!", slaveKey); + fprintf(stderr,"Slave %d has no render power!", slaveKey); else fprintf(stderr, "jobKey: %d, frameNum: %d\n",jobKey,frameNum); break; @@ -460,7 +466,7 @@ int interactiveTest(int test, struct gen scanf("%d", &tmp); newPriority = tmp; - change_job_priority(conn, jobKey, newPriority); + change_job_priority(geninfo->conn, jobKey, newPriority); fprintf(stderr,"Changed!"); break; case 3: @@ -476,7 +482,7 @@ int interactiveTest(int test, struct gen scanf("%d", &tmp); frameNum = tmp; - finish_frame(conn, slaveKey, jobKey, frameNum); + finish_frame(geninfo->conn, slaveKey, jobKey, frameNum); fprintf(stderr,"Finished Frame!\n"); break; case 4: @@ -492,10 +498,17 @@ int interactiveTest(int test, struct gen scanf("%d", &tmp); frameNum = tmp; - start_frame(conn, slaveKey, jobKey, frameNum); + start_frame(geninfo->conn, slaveKey, jobKey, frameNum); fprintf(stderr,"Started Frame!\n"); break; + case 5: + distrend_listen(geninfo->config, &clients); + while(1) + distrend_accept(geninfo->config, clients); + break; + + case 0: test = 0; break; default: diff --git a/src/server/simpleslave.c b/src/server/simpleslave.c --- a/src/server/simpleslave.c +++ b/src/server/simpleslave.c @@ -57,6 +57,7 @@ int main(int argc, char *argv[]) server = NULL; username = NULL; password = NULL; + hostname = NULL; char curopt; @@ -93,6 +94,34 @@ int main(int argc, char *argv[]) /* Get conf data */ options_init(argc, argv, &my_cfg, myopts, "slave", &commonopts); + if(!datadir) + { + fprintf(stderr, "datadir not set\n"); + return 1; + } + if(!server) + { + fprintf(stderr, "server not set\n"); + return 1; + } + if(!username) + { + fprintf(stderr, "username not set\n"); + return 1; + } + if(!password) + { + fprintf(stderr, "password not set\n"); + return 1; + } + if(!hostname) + { + fprintf(stderr, "hostname not set\n"); + return 1; + } + + + /* Notifies the user if there no username in .conf */ if(checkUsername(username)) return 1; @@ -134,16 +163,20 @@ int main(int argc, char *argv[]) char option[1] = ""; fprintf(stderr,"Do you want to recalculate render power? (y/n): "); scanf("%s", option); - if(!strcmp(option, "y")){ - if(slaveBenchmark(datadir, &benchmarkTime, &renderPower)){ - fprintf(stderr,"Benchmark failed! Exiting.\n"); - return 1; + if(!strcmp(option, "y")) + { + if(slaveBenchmark(datadir, &benchmarkTime, &renderPower)) + { + fprintf(stderr,"Benchmark failed! Exiting.\n"); + return 1; + } + else + { + fprintf(stderr,"Benchmark successful, time taken was %d seconds, giving you a render power of %d.\n", + benchmarkTime, renderPower); + _web_setrenderpower(slavekey, password, renderPower); + } } - else{ - fprintf(stderr,"Benchmark successful, time taken was %d seconds, giving you a render power of %d.\n", benchmarkTime, renderPower); - _web_setrenderpower(slavekey, password, renderPower); - } - } // Main loop while(!quit)