# This works mainly on my box for now
export LD_LIBRARY_PATH=$(GRAS_ROOT)/lib
+GRAS_STUB_GENERATOR=$(GRAS_ROOT)/bin/gras_stub_generator
all: 01-bones.output 02-simple.output 03-args.output 04-callback.output \
05-globals.output 06-logs.output 07-timers.output 08-exceptions.output \
- 09-simpledata.output
+ 09-simpledata.output 10-rpc.output 11-explicitwait.output
veryclean: clean
rm *.output*
make -f 01-bones.mk
_01-bones_client.c _01-bones_server.c _01-bones_simulator.c: 01-bones.c test.xml
- ../../tools/gras/gras_stub_generator 01-bones test.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 01-bones test.xml >/dev/null
clean::
if [ -e 01-bones.mk ] ; then make -f 01-bones.mk clean; fi
make -f 02-simple.mk
_02-simple_client.c _02-simple_server.c _02-simple_simulator.c: 02-simple.c test.xml
- ../../tools/gras/gras_stub_generator 02-simple test.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 02-simple test.xml >/dev/null
clean::
if [ -e 02-simple.mk ] ; then make -f 02-simple.mk clean; fi
make -f 03-args.mk
_03-args_client.c _03-args_server.c _03-args_simulator.c: 03-args.c 03-args.xml
- ../../tools/gras/gras_stub_generator 03-args 03-args.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 03-args 03-args.xml >/dev/null
clean::
if [ -e 03-args.mk ] ; then make -f 03-args.mk clean; fi
make -f 04-callback.mk
_04-callback_client.c _04-callback_server.c _04-callback_simulator.c: 04-callback.c 03-args.xml
- ../../tools/gras/gras_stub_generator 04-callback 03-args.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 04-callback 03-args.xml >/dev/null
clean::
if [ -e 04-callback.mk ] ; then make -f 04-callback.mk clean; fi
make -f 05-globals.mk
_05-globals_client.c _05-globals_server.c _05-globals_simulator.c: 05-globals.c 03-args.xml
- ../../tools/gras/gras_stub_generator 05-globals 03-args.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 05-globals 03-args.xml >/dev/null
clean::
if [ -e 05-globals.mk ] ; then make -f 05-globals.mk clean; fi
# Lesson 6: logs
########################################
-06-logs.output: 06-logs_client 06-logs_server 06-logs_simulator 06-logs.output.verbose 06-logs.output.error
+06-logs.output: 06-logs_client 06-logs_server 06-logs_simulator \
+ 06-logs.output.fmt 06-logs.output.fmt-bt 06-logs.output.verbose 06-logs.output.error
echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
./06-logs_server 12345 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
./06-logs_client 127.0.0.1 12345 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
echo '$$' >> $@
killall 06-logs_server 06-logs_client 2>/dev/null || true
+06-logs.output.fmt: 06-logs_client 06-logs_server 06-logs_simulator
+ echo '$$ ./test_server 12345 --log=test.fmt:%m%n & ./test_client 127.0.0.1 12345 --log=test.fmt:%m%n' > $@
+ ./06-logs_server 12345 --log=test.fmt:%m%nn 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
+ ./06-logs_client 127.0.0.1 12345 --log=test.fmt:%m%n 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml --log=test.fmt:%m%n' >> $@
+ ./06-logs_simulator gtut-platform.xml 03-args.xml --log=test.fmt:%m%n 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$' >> $@
+ killall 06-logs_server 06-logs_client 2>/dev/null || true
+
+06-logs.output.fmt-bt: 06-logs_client 06-logs_server 06-logs_simulator
+ echo '$$ ./test_server 12345 --log=test.fmt:"[%r] %m%n%b%n%n" & ./test_client 127.0.0.1 12345 --log=test.fmt:"[%r] %m%n%b%n%n"' > $@
+ ./06-logs_server 12345 --log=test.fmt:[%r]%m%n%b%n%n 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
+ ./06-logs_client 127.0.0.1 12345 --log=test.fmt:[%r]%m%n%b%n%n 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml --log=test.fmt:[%r]%m%n%b%n%n' >> $@
+ ./06-logs_simulator gtut-platform.xml 03-args.xml --log=test.fmt:[%r]%m%n%b%n%n 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$' >> $@
+ killall 06-logs_server 06-logs_client 2>/dev/null || true
+
06-logs.output.verbose: 06-logs_client 06-logs_server 06-logs_simulator
- echo '$$ ./test_server 12345 --gras-log=test.thres=verbose & ./test_client 127.0.0.1 12345 --gras-log=test.thres=verbose' > $@
- ./06-logs_server 12345 --gras-log=test.thres=verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
- ./06-logs_client 127.0.0.1 12345 --gras-log=test.thres=verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$ ./test_server 12345 --log=test.thres:verbose & ./test_client 127.0.0.1 12345 --log=test.thres:verbose' > $@
+ ./06-logs_server 12345 --log=test.thres:verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
+ ./06-logs_client 127.0.0.1 12345 --log=test.thres:verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
sleep 1
echo '$$' >> $@
- echo '$$ ./test_simulator platform.xml test.xml --gras-log=test.thres=verbose' >> $@
- ./06-logs_simulator gtut-platform.xml 03-args.xml --gras-log=test.thres=verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$ ./test_simulator platform.xml test.xml --log=test.thres:verbose' >> $@
+ ./06-logs_simulator gtut-platform.xml 03-args.xml --log=test.thres:verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
echo '$$' >> $@
killall 06-logs_server 06-logs_client 2>/dev/null || true
06-logs.output.error: 06-logs_client 06-logs_server 06-logs_simulator
- echo '$$ ./test_server 12345 --gras-log=root.thres=error & ./test_client 127.0.0.1 12345 --gras-log=root.thres=error' > $@
- ./06-logs_server 12345 --gras-log=root.thres=error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
- ./06-logs_client 127.0.0.1 12345 --gras-log=root.thres=error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$ ./test_server 12345 --log=root.thres:error & ./test_client 127.0.0.1 12345 --log=root.thres:error' > $@
+ ./06-logs_server 12345 --log=root.thres:error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
+ ./06-logs_client 127.0.0.1 12345 --log=root.thres:error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
sleep 1
echo '$$' >> $@
- echo '$$ ./test_simulator platform.xml test.xml --gras-log=root.thres=error' >> $@
- ./06-logs_simulator gtut-platform.xml 03-args.xml --gras-log=root.thres=error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$ ./test_simulator platform.xml test.xml --log=root.thres:error' >> $@
+ ./06-logs_simulator gtut-platform.xml 03-args.xml --log=root.thres:error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
echo '$$' >> $@
killall 06-logs_server 06-logs_client 2>/dev/null || true
make -f 06-logs.mk
_06-logs_client.c _06-logs_server.c _06-logs_simulator.c: 06-logs.c 03-args.xml
- ../../tools/gras/gras_stub_generator 06-logs 03-args.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 06-logs 03-args.xml >/dev/null
clean::
if [ -e 06-logs.mk ] ; then make -f 06-logs.mk clean; fi
make -f 07-timers.mk
_07-timers_client.c _07-timers_server.c _07-timers_simulator.c: 07-timers.c 03-args.xml
- ../../tools/gras/gras_stub_generator 07-timers 03-args.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 07-timers 03-args.xml >/dev/null
clean::
if [ -e 07-timers.mk ] ; then make -f 07-timers.mk clean; fi
make -f 08-exceptions.mk
_08-exceptions_client.c _08-exceptions_server.c _08-exceptions_simulator.c: 08-exceptions.c 03-args.xml
- ../../tools/gras/gras_stub_generator 08-exceptions 03-args.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 08-exceptions 03-args.xml >/dev/null
+
+clean::
+ if [ -e 08-exceptions.mk ] ; then make -f 08-exceptions.mk clean; fi
+ rm -f _08-exceptions_client.c _08-exceptions_server.c _08-exceptions_simulator.c 08-exceptions.trace 08-exceptions.mk 08-exceptions.output
# Lesson 9: simple data exchange
########################################
clean::
rm -f 09-datatype-dump.o 09-datatype-dump
-# Lesson 6: logs
-########################################
-
09-simpledata.output: 09-simpledata_client 09-simpledata_server 09-simpledata_simulator
echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
./09-simpledata_server 12345 2>&1 |sed s/09-simpledata/test/ >> $@ 2>&1&
make -f 09-simpledata.mk
_09-simpledata_client.c _09-simpledata_server.c _09-simpledata_simulator.c: 09-simpledata.c 03-args.xml
- ../../tools/gras/gras_stub_generator 09-simpledata 03-args.xml >/dev/null
+ $(GRAS_STUB_GENERATOR) 09-simpledata 03-args.xml >/dev/null
clean::
if [ -e 09-simpledata.mk ] ; then make -f 09-simpledata.mk clean; fi
rm -f _09-simpledata_client.c _09-simpledata_server.c _09-simpledata_simulator.c 09-simpledata.trace 09-simpledata.mk
+# Lesson 10: RPC
+########################################
+10-rpc.output: 10-rpc_client 10-rpc_server 10-rpc_simulator
+ echo '$$ ./test_server & ./test_client 127.0.0.1 ' > $@
+ ./10-rpc_server 12345 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1&
+ ./10-rpc_client 127.0.0.1 12345 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ killall test_server' >> $@
+ killall 10-rpc_server 10-rpc_client 2>/dev/null || true
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./10-rpc_simulator gtut-platform.xml 03-args.xml 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1
+ echo '$$' >> $@
+
+10-rpc_client 10-rpc_server 10-rpc_simulator: _10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c
+ make -f 10-rpc.mk
+
+_10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c: 10-rpc.c 03-args.xml
+ $(GRAS_STUB_GENERATOR) 10-rpc 03-args.xml >/dev/null
clean::
- if [ -e 08-exceptions.mk ] ; then make -f 08-exceptions.mk clean; fi
- rm -f _08-exceptions_client.c _08-exceptions_server.c _08-exceptions_simulator.c 08-exceptions.trace 08-exceptions.mk
+ if [ -e 10-rpc.mk ] ; then make -f 10-rpc.mk clean; fi
+ rm -f _10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c 10-rpc.trace 10-rpc.mk
+
+
+# Lesson 11: Explicit wait
+########################################
+11-explicitwait.output: 11-explicitwait_client 11-explicitwait_server 11-explicitwait_simulator
+ (echo '$$ ./test_server & ./test_client 127.0.0.1 12345 & ./test_client 127.0.0.1 12345 '; \
+ ./11-explicitwait_client 127.0.0.1 12345 & \
+ ./11-explicitwait_client 127.0.0.1 12345 & \
+ ./11-explicitwait_server 12345 \
+ ) 2>&1 | sed s/11-explicitwait/test/ > $@
+ sleep 1
+ echo '$$' >> $@
+ killall 11-explicitwait_server 11-explicitwait_client 2>/dev/null || true
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform-3nodes.xml test.xml' >> $@
+ ./11-explicitwait_simulator gtut-platform-3nodes.xml 11-explicitwait.xml 2>&1 |sed s/11-explicitwait/test/ >> $@ 2>&1
+ echo '$$' >> $@
+
+11-explicitwait_client 11-explicitwait_server 11-explicitwait_simulator: _11-explicitwait_client.c _11-explicitwait_server.c _11-explicitwait_simulator.c
+ make -f 11-explicitwait.mk
+
+_11-explicitwait_client.c _11-explicitwait_server.c _11-explicitwait_simulator.c: 11-explicitwait.c 03-args.xml
+ $(GRAS_STUB_GENERATOR) 11-explicitwait 03-args.xml >/dev/null
+
+clean::
+ if [ -e 11-explicitwait.mk ] ; then make -f 11-explicitwait.mk clean; fi
+ rm -f _11-explicitwait_client.c _11-explicitwait_server.c _11-explicitwait_simulator.c 11-explicitwait.trace 11-explicitwait.mk
+