CS537 Fall2009 P5 Test 1. Be sure to have these files in your working directory: Source code: cs537.c cs537.h request.c request.h server.c Test code: client1.c - client7.c output.c output1.c output2.c Test files: home.html p1.html p2.html p3.html p4.html p5.html Remzi.html Makefile: Makefile 2. Compile the code: $make Now you have: client1 - client7, server, output.cgi, output1.cgi, and output2.cgi. For client1 - client5(for each K in [1 2 3 4 5]), do the following test: 3. Single Machine Test: Login two machines to test the code. For example, use king01 as server, and king02 as client. Server(king01): home.html, Remzi.html, output.cpi, p1.html - p5.html, server Client(king02): clientK (a) On the server side(king01.cs.wisc.edu): $server 50230 8 16 SFF On the client side(king02.cs.wisc.edu): $clientK king01.cs.wisc.edu 50230 (b) On the server side(king01.cs.wisc.edu): $server 50230 8 16 FIFO On the client side(king02.cs.wisc.edu): $clientK king01.cs.wisc.edu 50230 4. Multiple Machine Test: Have clients residing on multiple machines: Server(king01): home.html, Remzi.html, output.cpi, p1.html - p5.html, server Client(king02, king03, king04, king05): clientK (c) On the server side(king01.cs.wisc.edu): $server 50230 8 16 SFF On the client side(king02, king03, king04, king05): $clientK king01.cs.wisc.edu 50230 (run the client concurrently on all the four machines) (d) On the server side(king01.cs.wisc.edu): $server 50230 8 16 FIFO On the client side(king02, king03, king04, king05): $clientK king01.cs.wisc.edu 50230 (run the client concurrently on all the four machines) 5. Viewing the result: On passing each of them, you will see a "Passed File test" message. Since the message may be intermixed with other outputs, you could redirect the output to temp: $clientK king01.cs.wisc.edu 50230 > temp, and then view the message in temp. 6. Thread-Pool Test: Server(king01): home.html, Remzi.html, output.cpi, p1.html - p5.html, server Client(king02): client6 On the server side(king01.cs.wisc.edu): $server 50230 8 16 SFF On the client side(king02.cs.wisc.edu): $client6 king01.cs.wisc.edu 50230 8 This test is to test whether you are using Thread-Pool instead of creating a new thread for each request. Keep it running for 10 minutes, were you the message "You have an error!" on the Client Side, that means you failed the test. Were you keep getting the "Welcome to the CGI program" message, then you are OK for this test. 7. Statistics: Server(king01): home.html, Remzi.html, output.cpi, p1.html - p5.html, server Client(king02): client7 On the server side(king01.cs.wisc.edu): $server 50230 8 16 SFF On the client side(king02.cs.wisc.edu): $client7 king01.cs.wisc.edu 50230 In this test, your output statistics will be traced. And we will take a look at your statistics to see whether they are reasonable. (For example, we check whether your Stat-req-arrivals are incremented). This is to guarantee that you implement all the statistics. As always, send email to:537-help@cs.wisc.edu, were you have problems about P5. Regards, Zhenxiao Luo