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

Consider moving non-unicode test files to separate projects and apply encoding info to them #6643

Closed
pawchen opened this issue Nov 8, 2015 · 2 comments
Labels
Area-Compilers Test Test failures in roslyn-CI
Milestone

Comments

@pawchen
Copy link
Contributor

pawchen commented Nov 8, 2015

While running tests locally for #6642 the following tests failed me, but the submitted PR ran fine on Jenkins. Except the first two, they "blend" in the tests that are not set up for encoding related contexts.

Please consider move encoding tests to explicit place for encoding related test and convert the file into UTF8 encoding for tests that are not target for encodings.

This issue is similar to #5413

    Microsoft.CodeAnalysis.UnitTests.EncodedStringTextTests.Decode_NonUtf8
      Assert.Equal() Failure
                                    ↓ (pos 20)
      Expected: abc def baz aeiouy €’¤?é?í?
      Actual:   abc def baz aeiouy €挙渡垌
                                    ↑ (pos 20)
      Stack Trace:
        src\Compilers\Core\CodeAnalysisTest\Text\EncodedStringTextTests.cs(166,0): at Microsoft.CodeAnalysis.UnitTests.EncodedStringTextTests.Decode_NonUtf8()

    Microsoft.CodeAnalysis.UnitTests.EncodedStringTextTests.HorizontalEllipsis
      System.IndexOutOfRangeException : Index was outside the bounds of the array.
      Stack Trace:
           at System.String.get_Chars(Int32 index)
        src\Compilers\Core\Portable\Text\StringText.cs(55,0): at Microsoft.CodeAnalysis.Text.StringText.get_Item(Int32 position)
        src\Compilers\Core\CodeAnalysisTest\Text\EncodedStringTextTests.cs(335,0): at Microsoft.CodeAnalysis.UnitTests.EncodedStringTextTests.HorizontalEllipsis()

    Microsoft.CodeAnalysis.VisualBasic.UnitTests.Semantics.InterpolatedStringTests.EscapeSequencesWitNoInterpolations
      Microsoft.CodeAnalysis.Test.Utilities.EmitException : Emit Failed, binaries saved to: 
      ...\roslyn\Binaries\Debug\Dumps
      a.vb(5) : error BC30035: Syntax error.

      Stack Trace:
        src\Test\Utilities\Desktop\HostedRuntimeEnvironment.cs(438,0): at Microsoft.CodeAnalysis.Test.Utilities.HostedRuntimeEnvironment.Emit(Compilation mainCompilation, IEnumerable`1 manifestResources, Boolean usePdbForDebugging)
        src\Test\Utilities\Desktop\CommonTestBase.CompilationVerifier.cs(133,0): at Microsoft.CodeAnalysis.Test.Utilities.CommonTestBase.CompilationVerifier.Emit(HostedRuntimeEnvironment testEnvironment, IEnumerable`1 manifestResources)
        src\Test\Utilities\Desktop\CommonTestBase.CompilationVerifier.cs(99,0): at Microsoft.CodeAnalysis.Test.Utilities.CommonTestBase.CompilationVerifier.Emit(String expectedOutput, IEnumerable`1 manifestResources, Boolean peVerify, SignatureDescription[] expectedSignatures)
        src\Test\Utilities\Desktop\CommonTestBase.cs(204,0): at Microsoft.CodeAnalysis.Test.Utilities.CommonTestBase.Emit(Compilation compilation, IEnumerable`1 dependencies, IEnumerable`1 manifestResources, SignatureDescription[] expectedSignatures, String expectedOutput, Action`1 assemblyValidator, Action`1 symbolValidator, Boolean verify)
        src\Test\Utilities\Desktop\CommonTestBase.cs(129,0): at Microsoft.CodeAnalysis.Test.Utilities.CommonTestBase.CompileAndVerify(Compilation compilation, IEnumerable`1 manifestResources, IEnumerable`1 dependencies, Action`1 sourceSymbolValidator, Action`1 assemblyValidator, Action`1 symbolValidator, SignatureDescription[] expectedSignatures, String expectedOutput, Boolean verify)
        src\Compilers\Test\Utilities\VisualBasic\BasicTestBase.vb(164,0): at Microsoft.CodeAnalysis.VisualBasic.UnitTests.BasicTestBase.CompileAndVerify(XElement source, IEnumerable`1 allReferences, String expectedOutput, IEnumerable`1 dependencies, Action`1 sourceSymbolValidator, Action`1 validator, Action`1 symbolValidator, SignatureDescription[] expectedSignatures, VisualBasicCompilationOptions options, VisualBasicParseOptions parseOptions, Boolean verify)
        src\Compilers\Test\Utilities\VisualBasic\BasicTestBase.vb(129,0): at Microsoft.CodeAnalysis.VisualBasic.UnitTests.BasicTestBase.CompileAndVerify(XElement source, String expectedOutput, MetadataReference[] additionalRefs, IEnumerable`1 dependencies, Action`1 sourceSymbolValidator, Action`1 validator, Action`1 symbolValidator, SignatureDescription[] expectedSignatures, VisualBasicCompilationOptions options, VisualBasicParseOptions parseOptions, Boolean verify, Boolean useLatestFramework)
        src\Compilers\VisualBasic\Test\Semantic\Semantics\InterpolatedStringTests.vb(202,0): at Microsoft.CodeAnalysis.VisualBasic.UnitTests.Semantics.InterpolatedStringTests.EscapeSequencesWitNoInterpolations()

    Microsoft.CodeAnalysis.VisualBasic.UnitTests.Semantics.InterpolatedStringTests.EscapeSequences
      Microsoft.CodeAnalysis.Test.Utilities.EmitException : Emit Failed, binaries saved to: 
      ...\roslyn\Binaries\Debug\Dumps
      a.vb(6) : error BC30370: '}' expected.
      a.vb(6) : error BC30198: ')' expected.

      Stack Trace:
        src\Test\Utilities\Desktop\HostedRuntimeEnvironment.cs(438,0): at Microsoft.CodeAnalysis.Test.Utilities.HostedRuntimeEnvironment.Emit(Compilation mainCompilation, IEnumerable`1 manifestResources, Boolean usePdbForDebugging)
        src\Test\Utilities\Desktop\CommonTestBase.CompilationVerifier.cs(133,0): at Microsoft.CodeAnalysis.Test.Utilities.CommonTestBase.CompilationVerifier.Emit(HostedRuntimeEnvironment testEnvironment, IEnumerable`1 manifestResources)
        src\Test\Utilities\Desktop\CommonTestBase.CompilationVerifier.cs(99,0): at Microsoft.CodeAnalysis.Test.Utilities.CommonTestBase.CompilationVerifier.Emit(String expectedOutput, IEnumerable`1 manifestResources, Boolean peVerify, SignatureDescription[] expectedSignatures)
        src\Test\Utilities\Desktop\CommonTestBase.cs(204,0): at Microsoft.CodeAnalysis.Test.Utilities.CommonTestBase.Emit(Compilation compilation, IEnumerable`1 dependencies, IEnumerable`1 manifestResources, SignatureDescription[] expectedSignatures, String expectedOutput, Action`1 assemblyValidator, Action`1 symbolValidator, Boolean verify)
        src\Test\Utilities\Desktop\CommonTestBase.cs(129,0): at Microsoft.CodeAnalysis.Test.Utilities.CommonTestBase.CompileAndVerify(Compilation compilation, IEnumerable`1 manifestResources, IEnumerable`1 dependencies, Action`1 sourceSymbolValidator, Action`1 assemblyValidator, Action`1 symbolValidator, SignatureDescription[] expectedSignatures, String expectedOutput, Boolean verify)
        src\Compilers\Test\Utilities\VisualBasic\BasicTestBase.vb(164,0): at Microsoft.CodeAnalysis.VisualBasic.UnitTests.BasicTestBase.CompileAndVerify(XElement source, IEnumerable`1 allReferences, String expectedOutput, IEnumerable`1 dependencies, Action`1 sourceSymbolValidator, Action`1 validator, Action`1 symbolValidator, SignatureDescription[] expectedSignatures, VisualBasicCompilationOptions options, VisualBasicParseOptions parseOptions, Boolean verify)
        src\Compilers\Test\Utilities\VisualBasic\BasicTestBase.vb(129,0): at Microsoft.CodeAnalysis.VisualBasic.UnitTests.BasicTestBase.CompileAndVerify(XElement source, String expectedOutput, MetadataReference[] additionalRefs, IEnumerable`1 dependencies, Action`1 sourceSymbolValidator, Action`1 validator, Action`1 symbolValidator, SignatureDescription[] expectedSignatures, VisualBasicCompilationOptions options, VisualBasicParseOptions parseOptions, Boolean verify, Boolean useLatestFramework)
        src\Compilers\VisualBasic\Test\Semantic\Semantics\InterpolatedStringTests.vb(183,0): at Microsoft.CodeAnalysis.VisualBasic.UnitTests.Semantics.InterpolatedStringTests.EscapeSequences()

    Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Completion.CompletionProviders.SymbolCompletionProviderTests.CommitGenericOnParen
      System.InvalidOperationException : Sequence contains no elements
      Stack Trace:
           at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
           at System.Linq.ImmutableArrayExtensions.First[T](ImmutableArray`1 immutableArray, Func`2 predicate)
        src\EditorFeatures\Test\Completion\AbstractCompletionProviderTests.cs(365,0): at Microsoft.CodeAnalysis.Editor.UnitTests.Completion.AbstractCompletionProviderTests`1.VerifyProviderCommitCheckResults(Document document, Int32 position, String itemToCommit, String expectedCodeAfterCommit, Nullable`1 commitCharOpt, String textTypedSoFar)
        src\EditorFeatures\Test\Completion\AbstractCompletionProviderTests.cs(350,0): at Microsoft.CodeAnalysis.Editor.UnitTests.Completion.AbstractCompletionProviderTests`1.VerifyProviderCommitWorker(String codeBeforeCommit, Int32 position, String itemToCommit, String expectedCodeAfterCommit, Nullable`1 commitChar, String textTypedSoFar, SourceCodeKind sourceCodeKind)
        src\EditorFeatures\Test\Completion\AbstractCompletionProviderTests.cs(168,0): at Microsoft.CodeAnalysis.Editor.UnitTests.Completion.AbstractCompletionProviderTests`1.VerifyProviderCommit(String markupBeforeCommit, String itemToCommit, String expectedCodeAfterCommit, Nullable`1 commitChar, String textTypedSoFar, Nullable`1 sourceCodeKind)
        src\EditorFeatures\VisualBasicTest\Completion\CompletionProviders\SymbolCompletionProviderTests.vb(5570,0): at Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Completion.CompletionProviders.SymbolCompletionProviderTests.CommitGenericOnParen()

    Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Completion.CompletionProviders.SymbolCompletionProviderTests.Implements_AfterImplementsWithCircularInheritance
      No expected item was found.
      Expected: True
      Actual:   False
      Stack Trace:
        src\Test\Utilities\Shared\Assert\AssertEx.cs(283,0): at Roslyn.Test.Utilities.AssertEx.Any[T](IEnumerable`1 actual, Func`2 predicate)
        src\EditorFeatures\Test\Completion\AbstractCompletionProviderTests.cs(121,0): at Microsoft.CodeAnalysis.Editor.UnitTests.Completion.AbstractCompletionProviderTests`1.CheckResults(Document document, Int32 position, String expectedItemOrNull, String expectedDescriptionOrNull, Boolean usePreviousCharAsTrigger, Boolean checkForAbsence, Nullable`1 glyph)
        src\EditorFeatures\Test\Completion\AbstractCompletionProviderTests.cs(257,0): at Microsoft.CodeAnalysis.Editor.UnitTests.Completion.AbstractCompletionProviderTests`1.VerifyWorker(String code, Int32 position, String expectedItemOrNull, String expectedDescriptionOrNull, SourceCodeKind sourceCodeKind, Boolean usePreviousCharAsTrigger, Boolean checkForAbsence, Boolean experimental, Nullable`1 glyph)
        src\EditorFeatures\VisualBasicTest\Completion\CompletionProviders\AbstractVisualBasicCompletionProviderTests.vb(53,0): at Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Completion.CompletionProviders.AbstractVisualBasicCompletionProviderTests.VerifyAtPosition(String code, Int32 position, String insertText, String expectedItemOrNull, String expectedDescriptionOrNull, SourceCodeKind sourceCodeKind, Boolean usePreviousCharAsTrigger, Boolean checkForAbsence, Nullable`1 glyph, Boolean experimental)
        src\EditorFeatures\VisualBasicTest\Completion\CompletionProviders\AbstractVisualBasicCompletionProviderTests.vb(57,0): at Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Completion.CompletionProviders.AbstractVisualBasicCompletionProviderTests.VerifyAtPosition(String code, Int32 position, String expectedItemOrNull, String expectedDescriptionOrNull, SourceCodeKind sourceCodeKind, Boolean usePreviousCharAsTrigger, Boolean checkForAbsence, Nullable`1 glyph, Boolean experimental)
        src\EditorFeatures\VisualBasicTest\Completion\CompletionProviders\AbstractVisualBasicCompletionProviderTests.vb(24,0): at Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Completion.CompletionProviders.AbstractVisualBasicCompletionProviderTests.VerifyWorker(String code, Int32 position, String expectedItemOrNull, String expectedDescriptionOrNull, SourceCodeKind sourceCodeKind, Boolean usePreviousCharAsTrigger, Boolean checkForAbsence, Boolean experimental, Nullable`1 glyph)
        src\EditorFeatures\Test\Completion\AbstractCompletionProviderTests.cs(134,0): at Microsoft.CodeAnalysis.Editor.UnitTests.Completion.AbstractCompletionProviderTests`1.Verify(String markup, String expectedItemOrNull, String expectedDescriptionOrNull, SourceCodeKind sourceCodeKind, Boolean usePreviousCharAsTrigger, Boolean checkForAbsence, Boolean experimental, Nullable`1 glyph)
        src\EditorFeatures\Test\Completion\AbstractCompletionProviderTests.cs(186,0): at Microsoft.CodeAnalysis.Editor.UnitTests.Completion.AbstractCompletionProviderTests`1.VerifyItemExists(String markup, String expectedItem, String expectedDescriptionOrNull, Nullable`1 sourceCodeKind, Boolean usePreviousCharAsTrigger, Boolean experimental, Nullable`1 glyph)
        src\EditorFeatures\VisualBasicTest\Completion\CompletionProviders\SymbolCompletionProviderTests.vb(5345,0): at Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.Completion.CompletionProviders.SymbolCompletionProviderTests.Implements_AfterImplementsWithCircularInheritance()
@pawchen pawchen changed the title Consider moving non-unicode tests files to separate projects and apply encoding info to them Consider moving non-unicode test files to separate projects and apply encoding info to them Nov 8, 2015
@gafter gafter added Area-Compilers Test Test failures in roslyn-CI labels Nov 8, 2015
@gafter gafter added this to the 1.2 milestone Nov 9, 2015
@jaredpar
Copy link
Member

jaredpar commented Nov 9, 2015

We actually just submitted a PR last week to address the first two suites: #6633. Essentially tests which can only run correctly on specific locales should be enabled on only those locales.

For the other errors I'm not quite following what is going wrong there. Could you elaborate a bit on the problem? Tried looking at the file myself but couldn't immediately see the error.

@pawchen
Copy link
Contributor Author

pawchen commented Nov 9, 2015

Thanks for the first two.

For the others, example, file: src\Compilers\VisualBasic\Test\Semantic\Semantics\InterpolatedStringTests.vb
Line 195, 209, and 213

        Write($"{{Ø}}")
------------------^

This character U+00D8, should be encoded as 0xC3 0x98 in UTF-8, but currently it's 0xD8. You can use a hex editor and check address 0x1424.

You can also use NotePad++ to open the file, Ctrl + G to line 209, and click menu > Encoding > Encode in UTF-8 and see the following screen.
image

It's easy to fix these files though, see #6647, as NotePad++ can do a convert, but I think the team need to figure out how to prevent this from happening again, actually this is already an again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Compilers Test Test failures in roslyn-CI
Projects
None yet
Development

No branches or pull requests

3 participants