MS Message Queue Test (Compact 7)
3/12/2014
The Microsoft Messaging Queue (MSMQ) is a Windows Embedded Compact networking component. Using the MSMQ, the user can reliably send and receive messages between MSMQ-enabled host computers running either Windows Embedded Compact or Windows 7, Windows Vista, or Windows XP operating systems.
The MSMQ Test performs only local queue messaging operation. Developers can modify the MSMQ test application to communicate with remote servers as needed.
Test Prerequisites
Your device must meet the following requirements before you run this test.
The following tables show the hardware requirements for the MS Message Queue Test
Requirements | Description |
---|---|
Network card |
A wired LAN network card with the TCP/IP stack |
The following table shows the software requirements for the MS Message Queue Test.
Requirements | Description |
---|---|
Tux.exe |
Test harness, required for executing the tests |
Kato.dll |
Logging engine, required for logging test data |
mq_cetk.dll |
Library containing the MS Message Queue test cases |
The Windows Embedded Compact operating system must also have the following four components:
* SYSGEN_MSMQ
* SYSGEN_MSMQ_AX
* SYSGEN_MSMQ_SRMP
* SYSGEN_HTTPD.
Subtests
The table below lists the subtests included in this test.
SubTest ID | Description |
---|---|
1000 |
create 1 queue without any special queue options. |
1001 |
create 1 queue with PROPID_Q_JOURNAL option |
1002 |
create 2 queues with PROPID_Q_JOURNAL_QUOTA option |
1003 |
create 2 queues with PROPID_Q_LABEL option |
1004 |
create 4 queues with PROPID_Q_QUOTA option |
1005 |
create 4 queues with PROPID_Q_AUTHENTICATE option |
1006 |
create 8 queues with PROPID_Q_PRIV_LEVEL option |
1007 |
create 8 queues with PROPID_Q_TRANSACTION option |
1008 |
create a queue with combined options: * PROPID_Q_JOURNAL * PROPID_Q_JOURNAL_QUOTA |
1009 |
create a queue with combined options: * PROPID_Q_JOURNAL * PROPID_Q_LABEL |
1010 |
create a queue with combined options: * PROPID_Q_JOURNAL * PROPID_Q_LABEL * PROPID_Q_QUOTA |
1011 |
create a queue with combined options: * PROPID_Q_TRANSACTION * PROPID_Q_PRIV_LEVEL |
1012 |
create a queue with combined options: * PROPID_Q_AUTHENTICATE * PROPID_Q_TRANSACTION * PROPID_Q_PRIV_LEVEL |
1013 |
create a queue with combined options: * PROPID_Q_AUTHENTICATE * PROPID_Q_TRANSACTION |
1014 |
create a queue with combined options: * PROPID_Q_TRANSACTION * PROPID_Q_PRIV_LEVEL * PROPID_Q_JOURNAL * PROPID_Q_JOURNAL_QUOTA |
1015 |
create a queue with combined options: * PROPID_Q_AUTHENTICATE * PROPID_Q_TRANSACTION * PROPID_Q_PRIV_LEVEL * PROPID_Q_JOURNAL * PROPID_Q_LABEL |
1016 |
create a queue with combined options: * PROPID_Q_AUTHENTICATE * PROPID_Q_TRANSACTION * PROPID_Q_JOURNAL * PROPID_Q_LABEL * PROPID_Q_QUOTA |
1017 |
create a queue with combined options: * PROPID_Q_AUTHENTICATE * PROPID_Q_JOURNAL * PROPID_Q_JOURNAL_QUOTA * PROPID_Q_LABEL |
1018 |
create a queue with combined options: * PROPID_Q_PRIV_LEVEL * PROPID_Q_QUOTA |
1019 |
create a queue with combined options: * PROPID_Q_TRANSACTION * PROPID_Q_QUOTA * PROPID_Q_JOURNAL |
2000 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 1 message x 256 bytes/message. * no journaling * express-delivery * binary |
2001 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 1 message x 256 bytes/message. * no journaling * express-delivery * srmp |
2002 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 1 message x 256 bytes/message. * no journaling * recoverable-delivery * binary |
2003 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 1 message x 256 bytes/message. * no journaling * recoverable-delivery * srmp |
2004 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 1 message x 256 bytes/message. * DEADLETTER journaling * express-delivery * binary |
2005 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 1 message x 256 bytes/message. * DEADLETTER journaling * express-delivery * srmp |
2006 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 1 message x 256 bytes/message. * DEADLETTER journaling * recoverable-delivery * binary |
2007 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 1 message x 256 bytes/message. * DEADLETTER journaling * recoverable-delivery * srmp |
2008 |
Same as 2000; reserved for future development |
2009 |
Same as 2001; reserved for future development |
2010 |
Same as 2002; reserved for future development |
2011 |
Same as 2003; reserved for future development |
2012 |
Same as 2004; reserved for future development |
2013 |
Same as 2005; reserved for future development |
2014 |
Same as 2006; reserved for future development |
2015 |
Same as 2007; reserved for future development |
2016 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 4 kilobytes/message. * no journaling * express-delivery * binary |
2017 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 4 kilobytes/message. * no journaling * express-delivery * srmp |
2018 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 4 kilobytes/message. * no journaling * recoverable-delivery * binary |
2019 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 4 kilobytes/message. * no journaling * recoverable-delivery * srmp |
2020 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 4 kilobytes/message. * DEADLETTER journaling * express-delivery * binary |
2021 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 4 kilobytes/message. * DEADLETTER journaling * express-delivery * srmp |
2022 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 4 kilobytes/message. * DEADLETTER journaling * recoverable-delivery * binary |
2024 |
Same as 2016; reserved for future development |
2025 |
Same as 2017; reserved for future development |
2026 |
Same as 2018; reserved for future development |
2027 |
Same as 2019; reserved for future development |
2028 |
Same as 2020; reserved for future development |
2029 |
Same as 2021; reserved for future development |
2030 |
Same as 2022; reserved for future development |
2031 |
Same as 2023; reserved for future development |
2032 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 16 kilobytes/message. * no journaling * express-delivery * binary |
2033 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 16 kilobytes/message. * no journaling * express-delivery * srmp |
2034 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 16 kilobytes/message. * no journaling * recoverable-delivery * binary |
2035 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 16 kilobytes/message. * no journaling * recoverable-delivery * srmp |
2036 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 16 kilobytes/message. * DEADLETTER journaling * express-delivery * binary |
2037 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 16 kilobytes/message. * DEADLETTER journaling * express-delivery * srmp |
2038 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 16 kilobytes/message. * DEADLETTER journaling * recoverable-delivery * binary |
2039 |
Send and receive messages through a local private queue .\private$\mq_cetk. Send and receive 2 messages x 16 kilobytes/message. * DEADLETTER journaling * recoverable-delivery * srmp |
2040 |
same as 2032; reserved for future development |
2041 |
same as 2033; reserved for future development |
2042 |
same as 2034; reserved for future development |
2043 |
same as 2035; reserved for future development |
2044 |
same as 2036; reserved for future development |
2045 |
same as 2037; reserved for future development |
2046 |
same as 2038; reserved for future development |
2047 |
same as 2039; reserved for future development |
Setting Up the Test
This test has no additional requirements, beyond the standard test environment setup.
Running the Test
To run the MSMQ Test, follow these three steps:
1. Start a command prompt on the Windows Embedded Compact device and run the following two command lines:
* msmqadm register binary srmp trust
* msmqadm start
* Alternatively, these may be run in the Platform Builder Target Control Window.
2. Run the MSMQ Test with the command line tux -o -d mq_cetk
There are no other command line parameters specific to the MSMQ Test.
Note:The program msmqadm’s source code is in ‘public\servers\sdk\samples\msmq\msmqadm’ folder. It is used for test environment setup.
Verifying the Test
When the test completes running, verify that "PASS" appears in the test log for all sub-tests.
Troubleshooting the Test
Low memory or file system space can cause failure. For troubleshooting, check the debug output.
For additional platform specific issues, consult the CTK articles on the TechNet wiki.