Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions,
see Getting Started with Amazon Web Services in China
(PDF).
Amazon IoT Greengrass Version 1 entered the extended life phase on June 30, 2023. For
more information, see the Amazon IoT Greengrass V1 maintenance
policy. After this date, Amazon IoT Greengrass V1 won't release updates that provide features,
enhancements, bug fixes, or security patches. Devices that run on Amazon IoT Greengrass V1 won't be
disrupted and will continue to operate and to connect to the cloud. We strongly
recommend that you migrate to Amazon IoT Greengrass Version 2,
which adds significant new
features and support for additional platforms.
Run the Amazon IoT Greengrass qualification suite
After you set the required configuration, you can start the
tests. The runtime of the full test suite depends on your hardware. For reference, it takes
approximately 30 minutes to complete the full test suite on a Raspberry Pi 3B.
The following example run-suite
commands show you how to run the qualification
tests for a device pool. A device pool is a set of identical devices.
- IDT v3.0.0 and later
-
- Run all test groups in a specified test suite.
-
devicetester_[linux | mac | win_x86-64]
run-suite --suite-id GGQ_1.0.0 --pool-id <pool-id>
Use the list-suites
command to list the test suites that are in the
tests
folder.
- Run a specific test group in a test suite.
-
devicetester_[linux | mac | win_x86-64]
run-suite --suite-id GGQ_1.0.0 --group-id <group-id>
--pool-id <pool-id>
Use the list-groups
command to list the test groups in a test
suite.
- Run a specific test case in a test group.
-
devicetester_[linux | mac | win_x86-64]
run-suite --group-id <group-id>
--test-id <test-id>
- Run multiple test cases in a test group.
-
devicetester_[linux | mac | win_x86-64]
run-suite --group-id <group-id>
--test-id <test-id1>,<test-id2>
- List the test cases in a test group.
-
devicetester_[linux | mac | win_x86-64]
list-test-cases --group-id <group-id>
The options for the run-suite
command are optional. For example, you can
omit pool-id
if you have only one device pool defined in your
device.json
file. Or, you can omit suite-id
if you
want to run the latest test suite version in the tests
folder.
For more information about run-suite
and other IDT commands, see IDT for Amazon IoT Greengrass commands.
- IDT v2.3.0 and earlier
-
- Run all test groups in a specified suite.
-
devicetester_[linux | mac | win_x86-64]
run-suite --suite-id GGQ_1 --pool-id <pool-id>
- Run a specific test group.
-
devicetester_[linux | mac | win_x86-64]
run-suite --suite-id GGQ_1 --group-id <group-id>
--pool-id <pool-id>
suite-id
and pool-id
are optional if you are running a
single test suite on a single device pool. This means that you have only one device
pool defined in your device.json
file.
Check for Greengrass dependencies
We recommend that you run the dependency checker test group to make sure all Greengrass
dependencies are installed before you run related test groups. For example:
-
Run ggcdependencies
before running core qualification test groups.
-
Run containerdependencies
before running container-specific test
groups.
-
Run dockerdependencies
before running Docker-specific test groups.
-
Run ggcstreammanagementdependencies
before running stream manager-specific
test groups.
Set the default update behavior
When you start a test run, IDT checks online for a newer test suite version. If one is available, IDT prompts you to update to the latest available version.
You can set the upgrade-test-suite
(or u
) flag to control the default update behavior. Valid values are:
y
. IDT downloads and uses the latest available version.
n
(default). IDT uses the version specified in the suite-id
option.
If suite-id
is not specified, IDT uses the latest version in the
tests
folder.
If you don't include the upgrade-test-suite
flag, IDT prompts you when an update is available and waits 30 seconds for your input (y
or n
).
If no input is entered, it defaults to n
and continues running the tests.
The following examples show common use cases for this feature:
- Automatically use the latest tests available for a test group.
-
devicetester_linux run-suite -u y --group-id mqtt --pool-id DevicePool1
- Run tests in a specific test suite version.
-
devicetester_linux run-suite -u n --suite-id GGQ_1.0.0 --group-id mqtt --pool-id DevicePool1
- Prompt for updates at runtime.
-
devicetester_linux run-suite --pool-id DevicePool1
IDT for Amazon IoT Greengrass commands
The IDT commands are located in the <device-tester-extract-location>
/bin
directory. Use
them for the following operations:
- IDT v3.0.0 and later
-
help
-
Lists information about the specified command.
list-groups
-
Lists the groups in a given test suite.
list-suites
-
Lists the available test suites.
list-supported-products
-
Lists the supported products, in this case Amazon IoT Greengrass versions, and test suite
versions for the current IDT version.
list-test-cases
-
Lists the test cases in a given test group. The following option is
supported:
run-suite
-
Runs a suite of tests on a pool of devices. The following are some supported
options:
-
suite-id
. The test suite version to run. If not specified,
IDT uses the latest version in the tests
folder.
-
group-id
. The test groups to run, as a comma-separated list.
If not specified, IDT runs all test groups in the test suite.
-
test-id
. The test cases to run, as a comma-separated list.
When specified, group-id
must specify a single group.
-
pool-id
. The device pool to test. You must specify a pool if
you have multiple device pools defined in your
device.json
file.
-
upgrade-test-suite
. Controls how test suite version updates
are handled. Starting in IDT v3.0.0, IDT checks online for updated test suite
versions. For more information, see Test suite versions.
-
stop-on-first-failure
. Configures IDT to stop execution on
the first failure. This option should be used with group-id
to
debug the specified test groups. Do not use this option when running a full
test-suite to generate a qualification report.
-
update-idt
. Sets the response for the prompt to update IDT.
Y
as input stops the test execution if IDT detects there is a
newer version. N
as input continues the test execution.
-
update-managed-policy
. Y
as input stops the test
execution if IDT detects that the user's managed policy isn’t updated.
N
as input continues the test execution.
For more information about run-suite
options, use the
help
option:
devicetester_[linux | mac | win_x86-64]
run-suite -h
- IDT v2.3.0 and earlier
-
help
-
Lists information about the specified command.
list-groups
-
Lists the groups in a given test suite.
list-suites
-
Lists the available test suites.
run-suite
-
Runs a suite of tests on a pool of devices.
For more information about run-suite
options, use the
help
option:
devicetester_[linux | mac | win_x86-64]
run-suite -h