Rework writer deadline handling.
[stompngo.git] / testdata_test.go
blobf376546f43ea8fd172a7e180730ddab3411ee39b
1 package stompngo
3 import (
4 "log"
5 "net"
6 "os"
9 //=============================================================================
10 //= ack_test type =============================================================
11 //=============================================================================
12 type (
13 terrData struct {
14 proto string
15 headers Headers
16 errval Error
20 //=============================================================================
21 //= ack_test var ==============================================================
22 //=============================================================================
23 var (
24 terrList = []terrData{
25 {SPL_10,
26 Headers{HK_DESTINATION, "/queue/a"},
27 EREQMIDACK},
28 {SPL_11,
29 Headers{HK_DESTINATION, "/queue/a"},
30 EREQSUBACK},
31 {SPL_11,
32 Headers{HK_DESTINATION, "/queue/a", HK_SUBSCRIPTION, "sub11a"},
33 EREQMIDACK},
34 {SPL_12,
35 Headers{HK_DESTINATION, "/queue/a"},
36 EREQIDACK},
40 //=============================================================================
41 //= ack_test const ============================================================
42 //=============================================================================
43 const (
44 // None at present.
47 //=============================================================================
48 //= codec_test type ===========================================================
49 //=============================================================================
50 type (
52 testdata struct {
53 encoded string
54 decoded string
58 //=============================================================================
59 //= codec_test var ============================================================
60 //=============================================================================
61 var (
63 tdList = []testdata{
64 {"stringa", "stringa"},
65 {"stringb", "stringb"},
66 {"stringc", "stringc"},
67 {"stringd", "stringd"},
68 {"stringe", "stringe"},
69 {"stringf", "stringf"},
70 {"stringg", "stringg"},
71 {"stringh", "stringh"},
72 {"\\\\", "\\"},
73 {"\\n", "\n"},
74 {"\\c", ":"},
75 {"\\\\\\n\\c", "\\\n:"},
76 {"\\c\\n\\\\", ":\n\\"},
77 {"\\\\\\c", "\\:"},
78 {"c\\cc", "c:c"},
79 {"n\\nn", "n\nn"},
83 //=============================================================================
84 //= codec_test const ==========================================================
85 //=============================================================================
86 const (
87 // None at present.
90 //=============================================================================
91 //= connbv_test type ==========================================================
92 //=============================================================================
93 type (
94 // None at present.
97 //=============================================================================
98 //= connbv_test var ===========================================================
99 //=============================================================================
100 var (
101 // None at present.
104 //=============================================================================
105 //= connbv_test const =========================================================
106 //=============================================================================
107 const (
108 // None at present.
111 //=============================================================================
112 //= conndisc_test type ========================================================
113 //=============================================================================
114 type (
115 frameData struct {
116 data string
117 resp error
119 verData struct {
120 ch Headers // Client headers
121 sh Headers // Server headers
122 e error // Expected error
126 //=============================================================================
127 //= conndisc_test var =========================================================
128 //=============================================================================
129 var (
130 frames = []frameData{ // Many are possible but very unlikely
131 {"EBADFRM", EBADFRM},
132 {"EUNKFRM\n\n\x00", EUNKFRM},
133 {"ERROR\n\n\x00", nil},
134 {"ERROR\n\x00", EBADFRM},
135 {"ERROR\n\n", EBADFRM},
136 {"ERROR\nbadconhdr\n\n\x00", EUNKHDR},
137 {"ERROR\nbadcon:badmsg\n\n\x00", nil},
138 {"ERROR\nbadcon:badmsg\n\nbad message\x00", nil},
139 {"CONNECTED\n\n\x00", nil},
140 {"CONNECTED\n\nconnbody\x00", EBDYDATA},
141 {"CONNECTED\n\nconnbadbody", EBDYDATA},
142 {"CONNECTED\nk1:v1\nk2:v2\n\nconnbody\x00", EBDYDATA},
143 {"CONNECTED\nk1:v1\nk2:v2\n\nconnbody", EBDYDATA},
144 {"CONNECTED\nk1:v1\nk2:v2\n\n\x00", nil},
146 verChecks = []verData{
147 {Headers{HK_ACCEPT_VERSION, SPL_11}, Headers{HK_VERSION, SPL_11}, nil},
148 {Headers{}, Headers{}, nil},
149 {Headers{HK_ACCEPT_VERSION, "1.0,1.1,1.2"}, Headers{HK_VERSION, SPL_12}, nil},
150 {Headers{HK_ACCEPT_VERSION, "1.3"}, Headers{HK_VERSION, "1.3"}, EBADVERSVR},
151 {Headers{HK_ACCEPT_VERSION, "1.3"}, Headers{HK_VERSION, "1.1"}, EBADVERCLI},
152 {Headers{HK_ACCEPT_VERSION, "1.0,1.1,1.2"}, Headers{}, nil},
156 //=============================================================================
157 //= conndisc_test const =======================================================
158 //=============================================================================
159 const (
160 // None at present.
163 //=============================================================================
164 //= data_test type ============================================================
165 //=============================================================================
166 type (
167 // None at present.
170 //=============================================================================
171 //= data_test var =============================================================
172 //=============================================================================
173 var (
174 suptests = []supdata{
175 {SPL_10, true},
176 {SPL_11, true},
177 {SPL_12, true},
178 {"1.3", false},
179 {"2.0", false},
180 {"2.1", false},
184 //=============================================================================
185 //= data_test const ===========================================================
186 //=============================================================================
187 const (
188 // None at present.
191 //=============================================================================
192 //= hb_test type ==============================================================
193 //=============================================================================
194 type (
195 hbrundata struct {
196 testhbl bool // Run long heartbeat tests
197 testhbvb bool // Verbose long heartbeat tests
201 //=============================================================================
202 //= hb_test var ===============================================================
203 //=============================================================================
204 var (
205 testhbrd = hbrundata{
206 testhbl: false,
207 testhbvb: false,
211 //=============================================================================
212 //= hb_test const =============================================================
213 //=============================================================================
214 const (
216 hbs = 45 // Wait time (secs)
219 //=============================================================================
220 //= headers_test type =========================================================
221 //=============================================================================
222 type (
223 // None at present.
226 //=============================================================================
227 //= headers_test var ==========================================================
228 //=============================================================================
229 var (
230 // None at present.
233 //=============================================================================
234 //= headers_test const ========================================================
235 //=============================================================================
236 const (
237 // None at present.
240 //=============================================================================
241 //= logger_test type ==========================================================
242 //=============================================================================
243 type (
244 // None at present.
247 //=============================================================================
248 //= logger_test var ===========================================================
249 //=============================================================================
250 var (
251 // None at present.
254 //=============================================================================
255 //= logger_test const =========================================================
256 //=============================================================================
257 const (
258 testlgslt = 750
261 //=============================================================================
262 //= misc_test type ============================================================
263 //=============================================================================
264 type (
265 // None at present.
268 //=============================================================================
269 //= misc_test var =============================================================
270 //=============================================================================
271 var (
272 // None at present.
275 //=============================================================================
276 //= misc_test const ===========================================================
277 //=============================================================================
278 const (
279 // None at present.
282 //=============================================================================
283 //= nack_test type ============================================================
284 //=============================================================================
285 type (
286 nackData struct {
287 proto string
288 headers Headers
289 errval Error
293 //=============================================================================
294 //= nack_test var =============================================================
295 //=============================================================================
296 var (
297 nackList = []nackData{
298 {SPL_10,
299 Headers{HK_DESTINATION, "/queue/a"},
300 EBADVERNAK},
301 {SPL_11,
302 Headers{HK_DESTINATION, "/queue/a"},
303 EREQSUBNAK},
304 {SPL_11,
305 Headers{HK_DESTINATION, "/queue/a", HK_SUBSCRIPTION, "sub11a"},
306 EREQMIDNAK},
307 {SPL_12,
308 Headers{HK_DESTINATION, "/queue/a"},
309 EREQIDNAK},
313 //=============================================================================
314 //= nack_test const ===========================================================
315 //=============================================================================
316 const (
317 // None at present.
320 //=============================================================================
321 //= send_test type ============================================================
322 //=============================================================================
323 type (
324 // None at present.
327 //=============================================================================
328 //= send_test var =============================================================
329 //=============================================================================
330 var (
331 // None at present.
334 //=============================================================================
335 //= send_test const ===========================================================
336 //=============================================================================
337 const (
338 // None at present.
341 // send_test END
342 // sendbytes_test BEGIN
344 //=============================================================================
345 //= sendbytes_test type =======================================================
346 //=============================================================================
347 type (
348 // None at present.
351 //=============================================================================
352 //= sendbytes_test var ========================================================
353 //=============================================================================
354 var (
355 // None at present.
358 //=============================================================================
359 //= sendbytes_test const ======================================================
360 //=============================================================================
361 const (
362 // None at present.
365 //=============================================================================
366 //= sub_test type =============================================================
367 //=============================================================================
368 type (
369 subNoHeaderData struct {
370 proto string
371 exe error
374 subNoIDData struct {
375 proto string
376 subh Headers
377 exe error
380 subPlainData struct {
381 proto string
382 subh Headers
383 unsubh Headers
384 exe1 error
385 exe2 error
388 subTwiceData struct {
389 proto string
390 subh Headers
391 exe1 error
392 exe2 error
395 subAckData struct {
396 proto string
397 subh Headers
398 exe error
402 //=============================================================================
403 //= sub_test var ==============================================================
404 //=============================================================================
405 var (
406 subNoHeaderDataList = []subNoHeaderData{
407 {SPL_10, EREQDSTSUB},
408 {SPL_11, EREQDSTSUB},
409 {SPL_12, EREQDSTSUB},
411 subNoIDDataList = []subNoIDData{
412 {SPL_10,
413 Headers{HK_DESTINATION, "/queue/subNoIDTest.10"},
414 nil},
415 {SPL_11,
416 Headers{HK_DESTINATION, "/queue/subNoIDTest.11"},
417 nil},
418 {SPL_12,
419 Headers{HK_DESTINATION, "/queue/subNoIDTest.12"},
420 nil},
422 subPlainDataList = []subPlainData{
423 {SPL_10,
424 Headers{HK_DESTINATION, "/queue/subPlainTest.10",
425 HK_ID, "subPlainTest.10"},
426 Headers{HK_DESTINATION, "/queue/subPlainTest.10",
427 HK_ID, "subPlainTest.10"},
428 nil, nil},
429 {SPL_11,
430 Headers{HK_DESTINATION, "/queue/subPlainTest.11",
431 HK_ID, "subPlainTest.11"},
432 Headers{HK_DESTINATION, "/queue/subPlainTest.11",
433 HK_ID, "subPlainTest.11"},
434 nil, nil},
435 {SPL_12,
436 Headers{HK_DESTINATION, "/queue/subPlainTest.12",
437 HK_ID, "subPlainTest.11"},
438 Headers{HK_DESTINATION, "/queue/subPlainTest.12",
439 HK_ID, "subPlainTest.11"},
440 nil, nil},
443 subTwiceDataList = []subTwiceData{
444 {SPL_10,
445 Headers{HK_DESTINATION, "/queue/subTwiceTest.10",
446 HK_ID, "subTwiceTest.10"},
447 nil, EDUPSID},
448 {SPL_11,
449 Headers{HK_DESTINATION, "/queue/subTwiceTest.11",
450 HK_ID, "subTwiceTest.11"},
451 nil, EDUPSID},
452 {SPL_12,
453 Headers{HK_DESTINATION, "/queue/subTwiceTest.12",
454 HK_ID, "subTwiceTest.11"},
455 nil, EDUPSID},
458 subAckDataList = []subAckData{
459 // 1.0
460 {SPL_10,
461 Headers{HK_DESTINATION, "/queue/subAckTest.10.1"},
462 nil},
463 {SPL_10,
464 Headers{HK_DESTINATION, "/queue/subAckTest.10.2",
465 HK_ACK, AckModeAuto},
466 nil},
467 {SPL_10,
468 Headers{HK_DESTINATION, "/queue/subAckTest.10.3",
469 HK_ACK, AckModeClient},
470 nil},
471 {SPL_10,
472 Headers{HK_DESTINATION, "/queue/subAckTest.10.3",
473 HK_ACK, AckModeClientIndividual},
474 ESBADAM},
475 {SPL_10,
476 Headers{HK_DESTINATION, "/queue/subAckTest.10.4",
477 HK_ACK, badam},
478 ESBADAM},
479 // 1.1
480 {SPL_11,
481 Headers{HK_DESTINATION, "/queue/subAckTest.11.1"},
482 nil},
483 {SPL_11,
484 Headers{HK_DESTINATION, "/queue/subAckTest.11.2",
485 HK_ACK, AckModeAuto},
486 nil},
487 {SPL_11,
488 Headers{HK_DESTINATION, "/queue/subAckTest.11.3",
489 HK_ACK, AckModeClient},
490 nil},
491 {SPL_11,
492 Headers{HK_DESTINATION, "/queue/subAckTest.11.4",
493 HK_ACK, AckModeClientIndividual},
494 nil},
495 {SPL_11,
496 Headers{HK_DESTINATION, "/queue/subAckTest.11.5",
497 HK_ACK, badam},
498 ESBADAM},
499 // 1.2
500 {SPL_12,
501 Headers{HK_DESTINATION, "/queue/subAckTest.12.1"},
502 nil},
503 {SPL_12,
504 Headers{HK_DESTINATION, "/queue/subAckTest.12.2",
505 HK_ACK, AckModeAuto},
506 nil},
507 {SPL_12,
508 Headers{HK_DESTINATION, "/queue/subAckTest.12.3",
509 HK_ACK, AckModeClient},
510 nil},
511 {SPL_12,
512 Headers{HK_DESTINATION, "/queue/subAckTest.12.4",
513 HK_ACK, AckModeClientIndividual},
514 nil},
515 {SPL_12,
516 Headers{HK_DESTINATION, "/queue/subAckTest.12.5",
517 HK_ACK, badam},
518 ESBADAM},
522 //=============================================================================
523 //= sub_test const ============================================================
524 //=============================================================================
525 const (
526 // None at present.
529 //=============================================================================
530 //= suppress_test type ========================================================
531 //=============================================================================
532 type (
533 // None at present.
536 //=============================================================================
537 //= suppress_test var =========================================================
538 //=============================================================================
539 var (
540 tsclData = []struct {
541 ba []uint8
542 wanted string
545 []uint8{0x61, 0x62, 0x63, 0x64, 0x65, 0x66},
546 "abcdef",
549 []uint8{0x61, 0x62, 0x63, 0x00, 0x64, 0x65, 0x66},
550 "abc",
553 []uint8{0x64, 0x65, 0x66, 0x00},
554 "def",
557 []uint8{0x00, 0x64, 0x65, 0x66, 0x00},
561 tsctData = []struct {
562 body string
563 doSuppress bool
564 wanted bool
567 "some data",
568 true,
569 false,
572 "other data",
573 false,
574 true,
579 //=============================================================================
580 //= suppress_test const =======================================================
581 //=============================================================================
582 const (
583 // None at present.
586 //=============================================================================
587 //= testdata_test type ========================================================
588 //=============================================================================
589 type (
591 sendRecvCodecData struct {
592 sid string
593 sk []string // send keys
594 sv []string // send values
595 rv map[string]string // expected receive value
597 supdata struct {
598 v string // version
599 s bool // is supported
603 //=============================================================================
604 //= testdata_test var =========================================================
605 //=============================================================================
606 var (
607 srcdList10 = []sendRecvCodecData{
608 {sid: "sub10a",
609 sk: []string{"keya"},
610 sv: []string{"valuea"},
611 rv: map[string]string{"keya": "valuea"}},
612 {sid: "sub10b",
613 sk: []string{"key:one"},
614 sv: []string{"value:a"},
615 rv: map[string]string{"key": "one:value:a"}},
616 {sid: "sub10c",
617 sk: []string{"key"},
618 sv: []string{"valuec"},
619 rv: map[string]string{"key": "valuec"}},
622 srcdList1p = []sendRecvCodecData{
623 {sid: "sub1xa",
624 sk: []string{"keya"},
625 sv: []string{"valuea"},
626 rv: map[string]string{"keya": "valuea"}},
627 {sid: "sub1xb",
628 sk: []string{"key:one", "key/ntwo", "key:three/naaa\\bbb"},
629 sv: []string{"value\\one", "value:two\\back:slash", "value\\three:aaa/nbbb"},
630 rv: map[string]string{"key:one": "value\\one",
631 "key/ntwo": "value:two\\back:slash",
632 "key:three/naaa\\bbb": "value\\three:aaa/nbbb"}},
635 srcdmap = map[string][]sendRecvCodecData{SPL_10: srcdList10,
636 SPL_11: srcdList1p,
637 SPL_12: srcdList1p}
640 //=============================================================================
641 //= testdata_test const =======================================================
642 //=============================================================================
643 const (
644 // None at present.
647 //=============================================================================
648 //= trans_test type ===========================================================
649 //=============================================================================
650 type (
651 transBasicData struct {
652 action string
653 th Headers
654 te error
656 transSendCommitData struct {
657 tid string
658 exe error
660 transSendAbortData struct {
661 tid string
662 exe error
664 transMessageOrderData struct {
665 sh Headers
666 se error
670 //=============================================================================
671 //= trans_test var ============================================================
672 //=============================================================================
673 var (
674 transBasicList = []transBasicData{
675 {BEGIN, Headers{}, EREQTIDBEG},
676 {COMMIT, Headers{}, EREQTIDCOM},
677 {ABORT, Headers{}, EREQTIDABT},
678 {BEGIN, Headers{HK_TRANSACTION, ""}, ETIDBEGEMT},
679 {COMMIT, Headers{HK_TRANSACTION, ""}, ETIDCOMEMT},
680 {ABORT, Headers{HK_TRANSACTION, ""}, ETIDABTEMT},
682 transSendCommitList = []transSendCommitData{
683 {"trans.send.commit", nil},
686 transSendAbortList = []transSendAbortData{
687 {"trans.send.abort", nil},
689 transMessageOrderList = []transMessageOrderData{
690 {Headers{HK_DESTINATION, "/queue/tsrbdata.q"}, nil},
694 //=============================================================================
695 //= trans_test const ==========================================================
696 //=============================================================================
697 const (
698 // None at present.
701 //=============================================================================
702 //= unsub_test type ===========================================================
703 //=============================================================================
704 type (
705 unsubNoHeaderData struct {
706 proto string
707 exe error
709 unsubNoIDData struct {
710 proto string
711 unsubh Headers
712 exe error
714 unsubBoolData struct {
715 proto string
716 subfirst bool
717 subh Headers
718 unsubh Headers
719 exe1 error
720 exe2 error
724 //=============================================================================
725 //= unsub_test var ============================================================
726 //=============================================================================
727 var (
728 unsubNoHeaderDataList = []subNoHeaderData{
729 {SPL_10, EUNODSID},
730 {SPL_11, EUNOSID},
731 {SPL_12, EUNOSID},
733 unsubNoIDDataList = []subNoIDData{
734 // 1.0
735 {SPL_10,
736 Headers{},
737 EUNODSID},
738 {SPL_10,
739 Headers{HK_DESTINATION, "/queue/unsubIDTest.10.1"},
740 EUNOSID},
741 {SPL_10,
742 Headers{HK_DESTINATION, "/queue/unsubIDTest.10.2",
743 HK_ID, "unsubIDTest.10.2"},
744 EBADSID},
745 // 1.1
746 {SPL_11,
747 Headers{},
748 EREQDIUNS},
749 {SPL_11,
750 Headers{HK_DESTINATION, "/queue/unsubIDTest.11.1"},
751 EUNOSID},
752 {SPL_11,
753 Headers{HK_DESTINATION, "/queue/unsubIDTest.11.2",
754 HK_ID, "unsubIDTest.11.2"},
755 EUNOSID},
756 // 1.2
757 {SPL_12,
758 Headers{},
759 EUNODSID},
760 {SPL_12,
761 Headers{HK_DESTINATION, "/queue/unsubIDTest.12.1"},
762 EUNOSID},
763 {SPL_12,
764 Headers{HK_DESTINATION, "/queue/unsubIDTest.12.2",
765 HK_ID, "unsubIDTest.12.2"},
766 EUNOSID},
769 // REQIDUNS = Error("id required, UNSUBSCRIBE")
770 // REQDIUNS = Error("destination required, UNSUBSCRIBE")
772 unsubBoolDataList = []unsubBoolData{
774 // 1.0
775 {SPL_10, false, // 0
776 Headers{},
777 Headers{},
778 EUNODSID, EUNODSID},
780 {SPL_10, false,
781 Headers{HK_DESTINATION, "/queue/PlainDataTest.10.1"},
782 Headers{HK_DESTINATION, "/queue/PlainDataTest.10.1"},
783 nil, EUNODSID},
785 {SPL_10, true,
786 Headers{HK_DESTINATION, "/queue/PlainDataTest.10.2"},
787 Headers{HK_DESTINATION, "/queue/PlainDataTest.10.2"},
788 nil, nil},
790 // 1.1
791 {SPL_11, false, // 3
792 Headers{},
793 Headers{},
794 EUNOSID, EUNOSID},
796 {SPL_11, false,
797 Headers{HK_DESTINATION, "/queue/PlainDataTest.11.1"},
798 Headers{HK_DESTINATION, "/queue/PlainDataTest.11.1"},
799 EUNOSID, EUNOSID},
801 {SPL_11, true,
802 Headers{HK_DESTINATION, "/queue/PlainDataTest.11.2"},
803 Headers{HK_DESTINATION, "/queue/PlainDataTest.11.2"},
804 nil, EUNOSID},
806 // 1.2
807 {SPL_12, false,
808 Headers{},
809 Headers{},
810 EUNOSID, EUNOSID},
812 {SPL_12, false,
813 Headers{HK_DESTINATION, "/queue/PlainDataTest.12.1"},
814 Headers{HK_DESTINATION, "/queue/PlainDataTest.12.1"},
815 EUNOSID, EUNOSID},
817 {SPL_12, true,
818 Headers{HK_DESTINATION, "/queue/PlainDataTest.10.1"},
819 Headers{HK_DESTINATION, "/queue/PlainDataTest.10.1"},
820 nil, EUNOSID},
824 //=============================================================================
825 //= unsub_test const ==========================================================
826 //=============================================================================
827 const (
828 // None at present.
831 //=============================================================================
832 //= utils_test type ===========================================================
833 //=============================================================================
834 type (
835 multi_send_data struct {
836 conn *Connection // this connection
837 dest string // queue/topic name
838 mpref string // message prefix
839 count int // number of messages
843 //=============================================================================
844 //= utils_test var ============================================================
845 //=============================================================================
846 var (
847 // None at present.
850 //=============================================================================
851 //= utils_test const ==========================================================
852 //=============================================================================
853 const (
854 // None at present.
857 //=============================================================================
858 //= shovel_dup_headers_test type ==============================================
859 //=============================================================================
860 type (
861 // None at present.
864 //=============================================================================
865 //= shovel_dup_headers_test var ===============================================
866 //=============================================================================
867 var (
868 tsdhHeaders = Headers{
869 "dupkey1", "value0",
870 "dupkey1", "value1",
871 "dupkey1", "value2",
873 wantedDupeV1 = Headers{
874 "dupkey1", "value1",
876 wantedDupeV2 = Headers{
877 "dupkey1", "value2",
879 wantedDupeVAll = Headers{
880 "dupkey1", "value1",
881 "dupkey1", "value2",
885 //=============================================================================
886 //= shovel_dup_headers_test const =============================================
887 //=============================================================================
888 const (
889 // None at present.
892 //=============================================================================
893 //= deadline_test type ========================================================
894 //=============================================================================
895 type (
896 // None at present.
899 //=============================================================================
900 //= deadline_test var =========================================================
901 //=============================================================================
902 var (
903 wdleInit = false // Enabled just after init
906 //=============================================================================
907 //= deadline_test const =======================================================
908 //=============================================================================
909 const (
910 // None at present.
913 //=============================================================================
914 //= for use by all type =======================================================
915 //=============================================================================
916 type (
917 // None at present.
920 //=============================================================================
921 //= for use by all var ========================================================
922 //=============================================================================
923 var (
924 TEST_HEADERS = Headers{HK_LOGIN, "guest", HK_PASSCODE, "guest"}
925 TEST_TDESTPREF = "/queue/test.pref."
926 TEST_TRANID = "TransactionA"
927 md MessageData
928 hv string
929 ok bool
930 empty_headers = Headers{}
931 testuser = "guest" // "guest" is required by some brokers
932 testpw = "guest"
933 login_headers = Headers{HK_LOGIN, testuser, HK_PASSCODE, testpw}
934 rid = "receipt-12345"
935 oneOnePlusProtos = []string{SPL_11, SPL_12}
936 e error
937 n net.Conn
938 conn *Connection
939 sc <-chan MessageData
940 sp string
941 badam = "AckModeInvalid"
942 brokerid int
943 tm = "A Test Message."
944 tlg = log.New(os.Stderr, "TLG|", log.Ldate|log.Lmicroseconds)
947 //=============================================================================
948 //= for use by all const ======================================================
949 //=============================================================================
950 const (
951 TEST_ANYBROKER = iota
952 TEST_AMQ = iota
953 TEST_RMQ = iota
954 TEST_ARTEMIS = iota
955 TEST_APOLLO = iota