Skip to content
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

fix(cli): equals sign in a context value is dropped #5773

Merged
merged 9 commits into from
Jan 23, 2020

Conversation

jzj
Copy link
Contributor

@jzj jzj commented Jan 13, 2020

Used a regular expression to capture the context value after the first equals sign.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

Uses a regular expression that contains capturing parentheses for the context value after the first equals sign.

fixes aws#5738
@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Copy link
Contributor

@shivlaks shivlaks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes look good to me. can you confirm that you re-ran the integ tests for the cli (mentioned in the checklist)

@mergify mergify bot dismissed shivlaks’s stale review January 15, 2020 18:54

Pull request has been modified.

Copy link
Contributor

@shivlaks shivlaks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pending confirmation that cli integ tests run successfully

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify mergify bot dismissed shivlaks’s stale review January 17, 2020 19:10

Pull request has been modified.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@shivlaks shivlaks changed the title equals sign in a context value is dropped fix(cli): equals sign in a context value is dropped Jan 20, 2020
@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Copy link
Contributor

@shivlaks shivlaks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jzj

  • i'm wondering if we can also add an integration test to verify that values are as we expect
  • please ensure you run the current CLI integration tests and confirm that they are succeeding

@jzj
Copy link
Contributor Author

jzj commented Jan 22, 2020

@shivlaks
I ran the CLI integration tests this evening. The final status was "success." The test results reported no errors.

@mergify mergify bot dismissed shivlaks’s stale review January 23, 2020 00:35

Pull request has been modified.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify
Copy link
Contributor

mergify bot commented Jan 23, 2020

Thank you for contributing! Your pull request is now being automatically merged.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify
Copy link
Contributor

mergify bot commented Jan 23, 2020

Thank you for contributing! Your pull request is now being automatically merged.

@mergify mergify bot merged commit 667443c into aws:master Jan 23, 2020
mergify bot pushed a commit that referenced this pull request Sep 19, 2023
When overriding tags from the CLI the tag key-value string is split by an equal sign and the left and right parts are used for key and value respectively. The documentation for the [String.prototype.split()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) states that the second parameter sets a limit of the returned values after execution:
> If provided, splits the string at each occurrence of the specified separator, but stops when limit entries have been placed in the array. Any leftover text is not included in the array at all.

So basically if we have `foo=bar=test` and we apply a split with a limit of 2 (`"foo=bar=test".split("=", 2)`) we will get the following array `["foo", "bar"]` instead of the expected one`["foo", "bar=test"]`. 

There has been the same problem with the context values and since it is the same problem the solution is also the same: #5773 

With this fix the `context` and `tags` get the same behaviour when parsing the passed values.

Closes #21003 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
HBobertz pushed a commit that referenced this pull request Sep 19, 2023
When overriding tags from the CLI the tag key-value string is split by an equal sign and the left and right parts are used for key and value respectively. The documentation for the [String.prototype.split()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) states that the second parameter sets a limit of the returned values after execution:
> If provided, splits the string at each occurrence of the specified separator, but stops when limit entries have been placed in the array. Any leftover text is not included in the array at all.

So basically if we have `foo=bar=test` and we apply a split with a limit of 2 (`"foo=bar=test".split("=", 2)`) we will get the following array `["foo", "bar"]` instead of the expected one`["foo", "bar=test"]`. 

There has been the same problem with the context values and since it is the same problem the solution is also the same: #5773 

With this fix the `context` and `tags` get the same behaviour when parsing the passed values.

Closes #21003 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants