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

[skip circleci] Enable func-test suite for windows #2296

Merged
merged 3 commits into from
Nov 2, 2021

Conversation

jneira
Copy link
Member

@jneira jneira commented Oct 23, 2021

No description provided.

Copy link
Collaborator

@pepeiborra pepeiborra left a comment

Choose a reason for hiding this comment

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

Approved with a heavy heart

@jneira
Copy link
Member Author

jneira commented Oct 24, 2021

RIP

@jneira
Copy link
Member Author

jneira commented Oct 24, 2021

I cant do much locally cause all tests fail in my local windows machine due to session timeouts. But they work (but func-test for ghc-9) in windows ci ~
I've just tried func-tests with ghc 8.10.7 and worked, trying with 9.0.1
🤷

@jneira
Copy link
Member Author

jneira commented Oct 25, 2021

Setting -j2 for the hls executable did the trick in my repo: https://github.com/jneira/haskell-language-server/runs/3993462232?check_suite_focus=true

It matches the option for the ghcide executable in its test suite:

shakeProfiling <- getEnv "SHAKE_PROFILING"
let cmd = unwords $
[ghcideExe, "--lsp", "--test", "--verbose", "-j2", "--cwd", startDir
] ++ ["--shake-profiling=" <> dir | Just dir <- [shakeProfiling]
] ++ extraOptions

Pro: maybe it make tests more stable overall (including other os's)
Contra: maybe we are masking concurrency related issues which could be fixed (see #2303)

@jneira
Copy link
Member Author

jneira commented Oct 25, 2021

ci is green here too, do you think the -j2 trick should be done @pepeiborra?

@jneira jneira added the merge me Label to trigger pull request merge label Oct 25, 2021
@jneira
Copy link
Member Author

jneira commented Oct 25, 2021

Tests are stuck here although they succeded in my repo 🤦

@jneira
Copy link
Member Author

jneira commented Oct 26, 2021

The same workflow configuration, with the same cache key and the same github build info succeded in my repo: https://github.com/jneira/haskell-language-server/runs/3999519889?check_suite_focus=true

Locally it succeded at first but it got stuck at hie-bios tests in a posterior run so i am gonna try ignore only that one.

@jneira
Copy link
Member Author

jneira commented Oct 26, 2021

Where the test suite get stuck:

tests log
 Test suite func-test: RUNNING...
haskell-language-server
  commands
    are prefixed:                                                          OK (26.93s)
    get de-prefixed:                                                       OK (3.68s)
  completions
    works:                                                                 OK (2.56s)
    itemCompletion/resolve works:                                          IGNORED
      no support for itemCompletion/resolve requests
    completes imports:                                                     OK (2.11s)
    completes qualified imports:                                           OK (2.02s)
    completes with no prefix:                                              OK (2.95s)
    strips compiler generated stuff from completions:                      OK (3.51s)
    have implicit foralls on basic polymorphic types:                      OK (2.51s)
    have implicit foralls with multiple type variables:                    OK (2.49s)
    maxCompletions:                                                        OK (2.54s)
    import function completions:                                           OK (2.00s)
    import second function completion:                                     OK (2.10s)
    contexts
      only provides type suggestions:                                      OK (2.18s)
      only provides value suggestions:                                     OK (2.47s)
      completes qualified type suggestions:                                OK (2.24s)
    snippets
      work for argumentless constructors:                                  OK (2.42s)
      work for polymorphic types:                                          OK (2.52s)
      work for complex types:                                              OK (2.44s)
      work for infix functions:                                            OK (2.47s)
      work for infix functions in backticks:                               OK (2.47s)
      work for qualified infix functions:                                  OK (2.51s)
      work for qualified infix functions in backticks:                     OK (2.34s)
      respects lsp configuration:                                          OK (2.49s)
      respects client capabilities:                                        OK (2.47s)
  plugin config
    config parsing
      empty object as user configuration should not send error logMessage: OK (0.59s)
  deferred responses
    instantly respond to failed modules with no cache:                     OK (0.78s)
    multiple main modules
      Can load one file at a time, when more than one Main module exists:  IGNORED
        Broken: Unexpected ConduitParser.empty
  definitions
    goto's symbols:                                                        IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/References.hs
    goto's imported modules:                                               IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/Bar.hs
    goto's exported modules:                                               IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/Bar.hs
    goto's imported modules that are loaded:                               IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/Bar.hs
    goto's imported modules that are loaded, and then closed:              IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/Bar.hs
  diagnostics providers
    Diagnostics work
      example plugin produces diagnostics:                                 OK (0.51s)
    only diagnostics on save
      Respects diagnosticsOnChange setting:                                IGNORED
        diagnosticsOnChange parameter is not supported right now
    Warnings are warnings
      Overrides -Werror:                                                   OK (4.33s)
  format document
warning: LF will be replaced by CRLF in C:\Users\runneradmin\AppData\Local\Temp\For9F2.actual.
The file will have its original line endings in your working directory
    works:                                                                 OK (0.46s)
warning: LF will be replaced by CRLF in C:\Users\runneradmin\AppData\Local\Temp\ForB7A.actual.
The file will have its original line endings in your working directory
    works with custom tab size:                                            OK (0.39s)
    format range
warning: LF will be replaced by CRLF in C:\Users\runneradmin\AppData\Local\Temp\ForCE2.actual.
The file will have its original line endings in your working directory
      works:                                                               OK (0.36s)
warning: LF will be replaced by CRLF in C:\Users\runneradmin\AppData\Local\Temp\ForE3B.actual.
The file will have its original line endings in your working directory
      works with custom tab size:                                          OK (0.35s)
    formatting provider
      respects none:                                                       OK (0.19s)
      can change on the fly:                                               OK (0.70s)
      supports both new and old configuration sections:                    OK (0.36s)
  behaviour on malformed projects
    no test executed:                                                      OK
  code actions
    import suggestions
      works with 3.8 code action kinds:                                    OK (2.80s)
    add package suggestions
      adds to .cabal files:                                                IGNORED
        no support for adding dependent packages via code action
      adds to hpack package.yaml files:                                    IGNORED
        no support for adding dependent packages via code action
    redundant import code actions
      remove solitary redundant imports:                                   OK (1.97s)
      doesn't touch other imports:                                         OK (2.13s)
    rename suggestions
      works:                                                               OK (2.78s)
      doesn't give both documentChanges and changes:                       OK (2.97s)
    missing top level signature code actions
      Adds top level signature:                                            OK (2.60s)
    typed hole code actions
      works:                                                               OK (2.66s)
      doesn't work when wingman is active:                                 FAIL (expected: The wingman plugin doesn't yet compile in GHC9) (2.68s)
        Exception: user error (didn't expected code action matching '["replace _ with minBound"]' but found one anyway) (expected failure)
      shows more suggestions:                                              OK (2.98s)
      doesnt show more suggestions when wingman is active:                 FAIL (expected: The wingman plugin doesn't yet compile in GHC9) (2.66s)
        Exception: user error (didn't expected code action matching '["replace _ with foo2 _"]' but found one anyway) (expected failure)
    unused term code actions
      Prefixes with '_':                                                   IGNORED
        no support for prefixing unused names with _
      respect 'only' parameter:                                            OK (2.53s)
  liquid haskell diagnostics
    liquid haskell generates diagnostics:                                  IGNORED
      no liquid haskell
  hie-bios
    loads modules inside main-is:                                          OK (0.94s)
    reports errors in hie.yaml:                                            OK (0.21s)
  highlight
    works:                                                                 OK (1.08s)
  window/workDoneProgress
    sends indefinite progress notifications:                               OK (0.93s)
    eval plugin sends progress reports:                                    OK (8.32s)
    ormolu plugin sends progress notifications:                            OK (0.73s)
    fourmolu plugin sends progress notifications:                          OK (0.94s)
    liquid haskell plugin sends progress notifications:                    IGNORED
      no liquid Haskell support
  references
    works with definitions:                                                IGNORED
      Broken
  document symbols
    pre 3.10 symbol information
Error: The operation was canceled.
tests log
Test suite func-test: RUNNING...
haskell-language-server
  commands
    are prefixed:                                                          OK (27.25s)
    get de-prefixed:                                                       OK (3.39s)
  completions
    works:                                                                 OK (2.80s)
    itemCompletion/resolve works:                                          IGNORED
      no support for itemCompletion/resolve requests
    completes imports:                                                     OK (2.35s)
    completes qualified imports:                                           OK (2.23s)
    completes with no prefix:                                              OK (2.40s)
    strips compiler generated stuff from completions:                      OK (2.50s)
    have implicit foralls on basic polymorphic types:                      OK (2.41s)
    have implicit foralls with multiple type variables:                    OK (2.45s)
    maxCompletions:                                                        OK (2.45s)
    import function completions:                                           OK (2.12s)
    import second function completion:                                     OK (2.23s)
    contexts
      only provides type suggestions:                                      OK (2.32s)
      only provides value suggestions:                                     OK (2.41s)
      completes qualified type suggestions:                                OK (2.49s)
    snippets
      work for argumentless constructors:                                  OK (2.58s)
      work for polymorphic types:                                          OK (2.40s)
      work for complex types:                                              OK (2.54s)
      work for infix functions:                                            OK (2.22s)
      work for infix functions in backticks:                               OK (2.28s)
      work for qualified infix functions:                                  OK (3.00s)
      work for qualified infix functions in backticks:                     OK (2.70s)
      respects lsp configuration:                                          OK (2.39s)
      respects client capabilities:                                        OK (2.52s)
  plugin config
    config parsing
      empty object as user configuration should not send error logMessage: OK (0.62s)
  deferred responses
    instantly respond to failed modules with no cache:                     OK (0.90s)
    multiple main modules
      Can load one file at a time, when more than one Main module exists:  IGNORED
        Broken: Unexpected ConduitParser.empty
  definitions
    goto's symbols:                                                        IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/References.hs
    goto's imported modules:                                               IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/Bar.hs
    goto's exported modules:                                               IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/Bar.hs
    goto's imported modules that are loaded:                               IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/Bar.hs
    goto's imported modules that are loaded, and then closed:              IGNORED
      Broken: file:///Users/jwindsor/src/haskell-language-server/test/testdata/Bar.hs
  diagnostics providers
    Diagnostics work
      example plugin produces diagnostics:                                 OK (0.48s)
    only diagnostics on save
      Respects diagnosticsOnChange setting:                                IGNORED
        diagnosticsOnChange parameter is not supported right now
    Warnings are warnings
      Overrides -Werror:                                                   OK (4.87s)
  format document
warning: LF will be replaced by CRLF in C:\Users\runneradmin\AppData\Local\Temp\ForD698.actual.
The file will have its original line endings in your working directory
    works:                                                                 OK (0.84s)
Error: The operation was canceled.

Dont see a pattern for now

@jneira jneira added pr: failing tests and removed merge me Label to trigger pull request merge labels Oct 28, 2021
@jneira jneira changed the title Enable func-test suite for windows [skip circleci] Enable func-test suite for windows Oct 28, 2021
@jneira
Copy link
Member Author

jneira commented Nov 2, 2021

Ok, i've isolated the problematic tests to progress onesso the rest can be enabled. I think we can merge this and try to discern what concrete progress test(s) are triggering the hang

@jneira jneira added merge me Label to trigger pull request merge and removed pr: failing tests labels Nov 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge me Label to trigger pull request merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants