Fix error message from new symbolic link missing target by yecril71pl · Pull Request #13085 · PowerShell/PowerShell

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

Conversation

yecril71pl

PR Summary

Fixes #13073 (well, at least descreases its morbidity).

PR Context

When the target value was not given and New-Item throws an exception, use the custom message format intended to be used.

PR Checklist

Display a meaningful error message when a symbolic link target is not specified!
Fix: NewArgumentNullException accepts format parameter at position 1.

iSazonov

@iSazonov iSazonov added the CL-General

Indicates that a PR should be marked as a general cmdlet change in the Change Log

label

Jul 2, 2020
The error message should be the same whether the value is null or empty.
I was told we cannot test the exception message because of localisation and that we should test the missing parameter instead.  I disagree because CI tests run under C locale anyway, byt here you are.
This message is currently used when we fail to create a link, so we decided to be more specific.  I also changed the name to reflect this assumption.
The new name is NewLinkTargetNotSpecified.

iSazonov

Co-authored-by: Ilya <darpa@yandex.ru>

iSazonov

Co-authored-by: Ilya <darpa@yandex.ru>

iSazonov

iSazonov

@iSazonov

@yecril71pl Thanks for discovering and fixing the issue!

@yecril71pl

@yecril71pl Thanks for discovering and fixing the issue!

My pleasure. I would like to note that:

  1. I am still unhappy that -TARGET is not formally mandatory in this case.
  2. I contend that -PARAMETER:VALUE is a better syntax in most cases because it is explicit and unambiguous.

@iSazonov

I am still unhappy that -TARGET is not formally mandatory in this case.

The cmdlet is provider based. I think it is impossible to make it mandatory for all scenarios. So the fix is good.

I contend that -PARAMETER:VALUE is a better syntax in most cases because it is explicit and unambiguous

We follow common pattern for tests. It would be huge work to change a style for all tests.

@ghost

🎉v7.1.0-preview.6 has been released which incorporates this pull request.:tada:

Handy links:

@ghost ghost mentioned this pull request

Aug 17, 2020

Labels

CL-General

Indicates that a PR should be marked as a general cmdlet change in the Change Log