Skip to content

util: make util.debuglog() consistent with doc - #13841

Closed
vsemozhetbyt wants to merge 1 commit into
nodejs:masterfrom
vsemozhetbyt:util.debuglog
Closed

util: make util.debuglog() consistent with doc#13841
vsemozhetbyt wants to merge 1 commit into
nodejs:masterfrom
vsemozhetbyt:util.debuglog

Conversation

@vsemozhetbyt

Copy link
Copy Markdown
Contributor
Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines
Affected core subsystem(s)

util

Fixes: #13728

@nodejs-github-botnodejs-github-bot added the util Issues and PRs related to the built-in util module. label Jun 21, 2017
@vsemozhetbyt

Copy link
Copy Markdown
ContributorAuthor

I am not sure if this is semver-major or semver-patch: this is more consistent with the doc but this may change some logging behavior, fixing any known errors in userland and surprising workarounds.

@vsemozhetbyt

Copy link
Copy Markdown
ContributorAuthor

Comment threadlib/util.js Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Would it make more sense to do this on line 151?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Is it OK it would be worthless to do all this if debugs[set] is already true?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Maybe we should place all the process.env.NODE_DEBUG processing in the if clause?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The code on line 151, inside the debugEnviron === undefined check, should only run once though, right? In the current position, it will run each time a new set is introduced.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Oh, I did not notice it is used only in this function. So we can make it the array and use it instead of sets, right?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If you mean making debugEnviron a Set, then yes, that works for me.

Comment threadtest/sequential/test-util-debug.js Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why the uppercase variable name?

@vsemozhetbytvsemozhetbytJun 21, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

To differ from section and to clarify the difference. What would you propose? Just reassign section? Or name it like sectionUpperCase?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

You could probably even get away with just using section.toUpperCase() and child.pid. They're only used to create an error message in a test.

@vsemozhetbyt

vsemozhetbyt commented Jun 21, 2017

Copy link
Copy Markdown
ContributorAuthor

@cjihrig Comments addressed. I have shortened the output data a bit to make test string more wrappable.

New CI: https://ci.nodejs.org/job/node-test-pull-request/8774/

@vsemozhetbyt

Copy link
Copy Markdown
ContributorAuthor

2 unstable results due to flaky async-hooks/test-callback-error.

@vsemozhetbyt

vsemozhetbyt commented Jun 21, 2017

Copy link
Copy Markdown
ContributorAuthor

So will we backport it or consider it semver-major?
All added test cases fail with the previous realization.

@cjihrig

Copy link
Copy Markdown
Contributor

I have no idea how many people may be relying on the existing behavior. It also doesn't seem to be very high priority. I'd say semver major just to be safe, but I'm fine with either since it technically brings behavior closer to the documentation.

@vsemozhetbytvsemozhetbyt added the semver-major PRs that contain breaking changes and should be released in the next major version. label Jun 21, 2017
@vsemozhetbyt

vsemozhetbyt commented Jun 21, 2017

Copy link
Copy Markdown
ContributorAuthor

I've set semver major for now, please, remove and backport if it will be reconsidered.

@jasnelljasnell left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Code changes look fine but would you mind adding some detail to the commit message about how the code is closer aligned to the docs

Previous realization produces some false positive and false negative
results due to:
* conflicts between unescaped user input and RegExp special characters;
* conflicts between parsing with `\b` RegExp symbol and non
alphanumeric characters in section names.
Fixes: #13728
@vsemozhetbyt

Copy link
Copy Markdown
ContributorAuthor

@jasnell Hopefully done.

vsemozhetbyt added a commit that referenced this pull request Jun 23, 2017
Previous realization produces some false positive and false negative
results due to:
* conflicts between unescaped user input and RegExp special characters;
* conflicts between parsing with `\b` RegExp symbol and non
alphanumeric characters in section names.
The doc does not mention any such restrictions.
PR-URL: #13841Fixes: #13728
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@vsemozhetbyt

Copy link
Copy Markdown
ContributorAuthor

Landed in 3b0e800

@vsemozhetbyt
vsemozhetbyt deleted the util.debuglog branch June 23, 2017 16:50
@BridgeARBridgeAR mentioned this pull request Dec 13, 2017
4 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver-majorPRs that contain breaking changes and should be released in the next major version.utilIssues and PRs related to the built-in util module.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@vsemozhetbyt@cjihrig@jasnell@nodejs-github-bot