MS Message Queue Test (Compact 2013)

3/26/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.

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_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. To run the MSMQ Test, click Run test.

Alternatively, 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.

See Also

Other Resources

Networking - Ethernet Tests