Test-Json returns wrong error when SchemaFile is not found
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 74/100
Rechercherichtung
Beginne bei TestJsonCommand.BeginProcessing und dem Aufruf JsonSchema.FromFile und führe dann die bereitgestellte Test-Json-Reproduktion mit der fehlenden fooSchema.json aus. Abgeschlossen ist die Aufgabe, wenn das fehlende Schema den erwarteten Fehler „Cannot find JSON schema file“ für den gemeldeten Pfad erzeugt, statt der aktuellen Open-File-Formulierung.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues.
- Refer to the FAQ.
- Refer to Differences between Windows PowerShell 5.1 and PowerShell.
Steps to reproduce
Use a valid json file test.json as shown in below example. Test its schema by passing an invalid schema file json.
> cat test.json
{
"str": "somestring",
"int": 2026
}
>Test-Json -Path .\test.json -SchemaFile .\fooSchema.json
Expected behavior
Test-Json: Cannot find JSON schema file: C:\Windows\Temp\fooSchema.json
Actual behavior
> Test-Json: Can not open JSON schema file: C:\Windows\Temp\fooSchema.json
Error details
Exception :
Type : System.Exception
TargetSite :
Name : ThrowTerminatingError
DeclaringType : [System.Management.Automation.MshCommandRuntime]
MemberType : Method
Module : System.Management.Automation.dll
Message : Can not open JSON schema file: C:\Windows\Temp\fooSchema.json
InnerException :
Type : System.IO.FileNotFoundException
Message : Could not find file 'C:\Windows\Temp\fooSchema.json'.
FileName : C:\Windows\Temp\fooSchema.json
TargetSite :
Name : CreateFile
DeclaringType : [Microsoft.Win32.SafeHandles.SafeFileHandle]
MemberType : Method
Module : System.Private.CoreLib.dll
Source : System.Private.CoreLib
HResult : -2147024894
StackTrace :
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Int32 bufferSize)
at System.IO.File.ReadAllText(String path, Encoding encoding)
at Json.Schema.JsonSchema.FromFile(String fileName)
at Microsoft.PowerShell.Commands.TestJsonCommand.BeginProcessing()
Source : System.Management.Automation
HResult : -2146233088
StackTrace :
at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord)
TargetObject : C:\Windows\Temp\fooSchema.json
CategoryInfo : OpenError: (C:\Windows\Temp\fooSchema.json:String) [Test-Json], Exception
FullyQualifiedErrorId : JsonSchemaFileOpenFailure,Microsoft.PowerShell.Commands.TestJsonCommand
InvocationInfo :
MyCommand : Test-Json
ScriptLineNumber : 1
OffsetInLine : 1
HistoryId : 1
Line : Test-Json -Path .\test.json -SchemaFile .\fooSchema.json
Statement : Test-Json -Path .\test.json -SchemaFile .\fooSchema.json
PositionMessage : At line:1 char:1
+ Test-Json -Path .\test.json -SchemaFile .\fooSchema.json
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
InvocationName : Test-Json
CommandOrigin : Internal
ScriptStackTrace : at <ScriptBlock>, <No file>: line 1
Environment data
#Windows
Name Value
---- -----
PSVersion 7.6.5
PSEdition Core
GitCommitId 7.6.5
OS Microsoft Windows 10.0.26200
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.4
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
#Linux
Name Value
---- -----
PSVersion 7.4.2
PSEdition Core
GitCommitId 7.4.2
OS Ubuntu 20.04.6 LTS
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Visuals
No response
- Vorherrschende Sprache
- C#
- Sterne
- 55.5k
- Forks
- 8.5k
- Ø Merge
- 1 T. 17 Std.
- Gemergte PRs (30 T.)
- 97
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus PowerShell/PowerShell
-
Issue-Enhancement Needs-Triage
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
PowerShell/PowerShell#28061 · 2 Reaktionen ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
PowerShell/PowerShell#28037 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
PowerShell/PowerShell#27720 ·
-
Issue-Bug Up-for-Grabs WG-Cmdlets WG-Reviewed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
PowerShell/PowerShell#27670 · 3 Kommentare ·
-
Issue-Bug Up-for-Grabs WG-Reviewed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
PowerShell/PowerShell#27656 · 2 Kommentare ·
Alle Issues in PowerShell/PowerShell
Ähnliche Issues
-
Documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
cake-build/cake#5024 ·
-
Frontend status/draft TechnicalDebt
Schwierigkeit 2/5 1-2 Tage Anfängerfreundlichkeit 75/100
Altinn/altinn-auth#4143 ·
-
.NET Flaky Test Testing Tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
getsentry/sentry-dotnet#5617 · 1 Kommentar ·
-
:watch: Not Triaged dotnet-fsharp/svc
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Client customer-reported needs-team-attention question Service Attention WebPubSub
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Azure/azure-sdk-for-net#63292 · 3 Kommentare · 1 Reaktion ·