-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows support for AWS IoT Client #460
Open
prilepski
wants to merge
34
commits into
awslabs:main
Choose a base branch
from
prilepski:basic_win_support
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…as configuration file generation powershell script. But it is not yet tested and no text coverate provided.
…alizeConfigTestFixture, LogQueueTest, Logging, EnvUtils, TestFeatureRegistry, FileUtils, LockFileTestFixture, MqttUtils, SharedResourceManagerTest, StringUtils, UniqueString, EphemeralPromise, JobDocument, TestJobEngine
…alizeAllocator to initialize memory allocator before member variables are allocated.
…p method to initialize AWS SDK for each test and to eliminate memory allocation failures.
…edCrtResourceManager instance to get initialized prior to memory allocation for a member variable (which leads to an assertion as memory allocator structure is NULL prior to initialization.
…sted against GTests. These fixes address Linux compilation problems and make sure that test pass rate on Linux in "Windows" branch is identical to the main branch.
…rted and working all the way to atempting to connect to MQTT. No further testing beyond that is done for now.
…iot-device-client into basic_win_support
…s that may result in less characters/bytes in the ifstream than what file size reported.
…rue. It makes it compatible with existing test and with default config template that does not reveal this parameter.
…ead of cmd, sample job templates for Windows and several sample job handlers for Windows.
…up script adjustment to match the configuration steps: running under administrator and specifying username under which AWS IoT Device Client will be running.
…visioning collect system info flag" commit for Linux
…on of CollectNetworkinformation
…binary output directories for IoT Client and the test project.
…iot-device-client into basic_win_support
Hey @prilepski , thank you so much for opening this PR. This is a huge win for Windows users. Apologies for the long turnaround as we need to allocate some time and resources to approve this, but do rest assured that this is on our radar. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
The current version/codebase of AWS IoT Client only claims Linux support. However, there are cases when Windows support is needed. Or when it is necessary to introduce a cross-platform IoT client. Such cases arise when migrating old/existing products to the modern cloud stack. Especially in the MedTech industry. A prototype supporting Linux and Windows will add extra points to using AWS IoT as a foundation for IoT solutions. The existing codebase is not too much Linux-specific. So, I decided to contribute the necessary changes to introduce Windows support into the AWS IoT Client.
Modifications
Change summary
Multiple commits were required to introduce Windows support in AWS IoT Client. However, all changes can be grouped in the following way:
What was not done due to an attempt to minimize initial pull request:
Revision diff summary
refer to Change Summary
Testing
The branch has been tested in both Linux and Windows in the following ways:
(I saw a request to provide CI test run, but I do not see anything in the repository or in the Contribution document referring to CI hooks or actions)
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
win_test_results.txt