"QGSM"4#v(0"dedaol QGSM :DOOG">:#,_$a, v >0"daol ton did QGSM :DAB">:#,_$a,@ v < >3yaaa**4*9a*+6+3*#vG00p0"eueuq egassem deniatbo G :DOOG">:#,_$a,v v < >0"=rorre ,eueuq egassem niatbo ton dluoc G :DAB">:#,_$.a,@ v < >00g#vT0" fo ezisxam denruter T :OFNI">:#,_$.a, v >0"= rorre ,ofni teg ot delif T :DAB">:#,_$.a, v v < >#v_0"eueuq detaerc ylwen ni segassem on detroper T :DOOG">:#,_$a,v >0"eueuq detaerc ylwen ni segassem detroper T :DAB">:#,_$a, v v < >1233100g1#vS0"1 epyt egassem sa tnes 321 :DOOG">:#,_$a, v >0"=rorre ,egassem dnes ot deliaf S :DAB">:#,_$.a, v v < >4563200g1#vS0"2 epyt egassem sa tnes 654 :DOOG">:#,_$a, v >0"=rorre ,egassem dnes ot deliaf S :DAB">:#,_$.a, v v < >7893300g1#vS0"3 epyt egassem sa tnes 987 :DOOG">:#,_$a, v >0"=rorre ,egassem dnes ot deliaf S :DAB">:#,_$.a, v v < >00g#vT$3-#v_0"segassem 3 stroper won T :DOOG">:#,_$a, v >0"segassem 3 troper ton seod T :DAB">:#,_$a, v >0":rorre htiw detcelfer T :DAB">:#,_$.a, v v < >3200g1#vR2-#v_3-#v_6-#v_5-#v_4-#v_ v > > >0"egassem gnorw devieceR :DAB">:#,_$a, v >0"setyb 3 neeb evah dluohs egasseM :DAB">:#,_$a, v >0"2 epyt egassem eviecer ton dluoc R :DAB">:#,_$a, v >0"detcelfer R :DAB">:#,_$a, v v < >0"2 epyt egassem daer yltcerroc R :DOOG">:#,_$a,v v < >a000g1#vR0"dekrow epyt yna htiw R :DOOG">:#,_$a, v >0"=rorre ,egassem eveirter ot deliaf R :DAB">:#,_$.a, v v < >:0":epyt egassem deveirter :OFNI">:#,_$.a,1-#v_ v v < >3-#v_9-#v_8-#v_7-#v_0"yltcerroc deveirter egasseM :DOOG">:#,_$a, v > > > >0"delbmarcs saw egasseM :DAB">:#,_$a, v v < >3-#v_3-#v_2-#v_1-#v_0"yltcerroc deveirter egasseM :DOOG">:#,_$a, v > > > >0"delbmarcs saw egasseM :DAB">:#,_$a, v v < >00g#vT$1-#v_0"tfel egassem 1 swohs yltcerroc T :DOOG">:#,_$a, v >0"tfel egassem 1 wohs ton seod T :DAB">:#,_$a, v >0"detcelfer T :DAB">:#,_$a, v v < >00g#vK0"eueuq egassem eht devomer K :DOOG">:#,_$a,@ >0"= rorre ,eueuq evomer ton did K :DAB">:#,_$.a,@ Expected Output: ---------------- GOOD: MSGQ loaded GOOD: G obtained message queue INFO: T returned maxsize of 65536 GOOD: T reported no messages in newly created queue GOOD: 123 sent as message type 1 GOOD: 456 sent as message type 2 GOOD: 789 sent as message type 3 GOOD: T now reports 3 messages GOOD: R correctly read message type 2 GOOD: R with any type worked INFO: retrieved message type:1 GOOD: Message retrieved correctly GOOD: T correctly shows 1 message left GOOD: K removed the message queue notes: Only non-blocking mode is used in these tests. The interpreter's handprint is used for the ipc key. If this key is already in use on your system the first test will fail. You can change the 3y on the line 4 to a key calculation instead.