Skip to content

call-hierarchy test suite is flaky #2881

Closed
@pepeiborra

Description

@pepeiborra

This one is easy to repro locally, with several tests failing randomly:

Running 1 test suites...
Test suite tests: RUNNING...
Call Hierarchy
  Prepare Call Hierarchy
    variable:                    OK (5.54s)
    function:                    OK (3.15s)
    datatype:                    OK (2.09s)
    data constructor:            OK (0.58s)
    type operator:               OK (1.04s)
    type class:                  OK (2.64s)
    type class method:           OK (1.55s)
    type class instance:         OK (4.79s)
    type family
      1:                         OK (4.14s)
      2:                         OK (6.08s)
    type family instance:        OK (3.64s)
    data family
      1:                         OK (9.73s)
      2:                         OK (7.56s)
    data family instance:        OK (6.76s)
    pattern:                     OK (8.95s)
    pattern with type signature: OK (8.16s)
    type synonym:                OK (9.91s)
    GADT:                        OK (10.15s)
    type signature
      next line:                 OK (10.39s)
      multi functions:           OK (10.35s)
    multi pattern:               OK (10.44s)
  Incoming Calls
    single file
      xdata unavailable:         OK (10.45s)
      xdata available:           OK (10.47s)
      data
        data type:               OK (10.70s)
        data constructor:        OK (10.79s)
      function:                  FAIL (10.80s)
        test/Main.hs:438:
        expected: [CallHierarchyIncomingCall {_from = CallHierarchyItem {_name = "a", _kind = SkFunction, _tags = Nothing, _detail = Just "Main", _uri = Uri {getUri = "file:///private/var/folders/4m/d38fhm3936x_gy_9883zbq8h0000gn/T/extra-dir-55063990888/A.hs"}, _range = Range {_start = Position {_line = 0, _character = 0}, _end = Position {_line = 0, _character = 5}}, _selectionRange = Range {_start = Position {_line = 0, _character = 0}, _end = Position {_line = 0, _character = 1}}, _xdata = Just (String "v:a:Main:main")}, _fromRanges = [Range {_start = Position {_line = 0, _character = 2}, _end = Position {_line = 0, _character = 5}}]}]
         but got: []
        Use -p '/Incoming Calls.single file.function/' to rerun this test only.
      type operator:             OK (10.93s)
      type class
        type class method:       OK (10.98s)
        type class instance:     OK (10.68s)
        goto typeclass instance: FAIL (10.58s)
          test/Main.hs:438:
          expected: [CallHierarchyIncomingCall {_from = CallHierarchyItem {_name = "f", _kind = SkFunction, _tags = Nothing, _detail = Just "Main", _uri = Uri {getUri = "file:///private/var/folders/4m/d38fhm3936x_gy_9883zbq8h0000gn/T/extra-dir-55063990896/A.hs"}, _range = Range {_start = Position {_line = 1, _character = 22}, _end = Position {_line = 1, _character = 27}}, _selectionRange = Range {_start = Position {_line = 1, _character = 22}, _end = Position {_line = 1, _character = 23}}, _xdata = Just (String "v:f:Main:main")}, _fromRanges = [Range {_start = Position {_line = 1, _character = 26}, _end = Position {_line = 1, _character = 27}}]}]
           but got: []
          Use -p '/goto typeclass instance/' to rerun this test only.
      type family instance:      OK (10.29s)
      GADT:                      OK (10.01s)
      multi pattern:             OK (9.76s)
    multi file
      1:                         FAIL (9.89s)
        test/Main.hs:458:
        expected: [CallHierarchyIncomingCall {_from = CallHierarchyItem {_name = "bar", _kind = SkFunction, _tags = Nothing, _detail = Just "A", _uri = Uri {getUri = "file:///Users/pepeiborra/scratch/ide-worktree/plugins/hls-call-hierarchy-plugin/test/testdata/A.hs"}, _range = Range {_start = Position {_line = 8, _character = 0}, _end = Position {_line = 10, _character = 29}}, _selectionRange = Range {_start = Position {_line = 8, _character = 0}, _end = Position {_line = 8, _character = 3}}, _xdata = Just (String "v:bar:A:main")}, _fromRanges = [Range {_start = Position {_line = 9, _character = 25}, _end = Position {_line = 9, _character = 29}}]},CallHierarchyIncomingCall {_from = CallHierarchyItem {_name = "foo2", _kind = SkFunction, _tags = Nothing, _detail = Just "A", _uri = Uri {getUri = "file:///Users/pepeiborra/scratch/ide-worktree/plugins/hls-call-hierarchy-plugin/test/testdata/A.hs"}, _range = Range {_start = Position {_line = 5, _character = 0}, _end = Position {_line = 5, _character = 23}}, _selectionRange = Range {_start = Position {_line = 5, _character = 0}, _end = Position {_line = 5, _character = 4}}, _xdata = Just (String "v:foo2:A:main")}, _fromRanges = [Range {_start = Position {_line = 5, _character = 7}, _end = Position {_line = 5, _character = 11}}]},CallHierarchyIncomingCall {_from = CallHierarchyItem {_name = "foo3", _kind = SkFunction, _tags = Nothing, _detail = Just "A", _uri = Uri {getUri = "file:///Users/pepeiborra/scratch/ide-worktree/plugins/hls-call-hierarchy-plugin/test/testdata/A.hs"}, _range = Range {_start = Position {_line = 6, _character = 0}, _end = Position {_line = 6, _character = 24}}, _selectionRange = Range {_start = Position {_line = 6, _character = 0}, _end = Position {_line = 6, _character = 4}}, _xdata = Just (String "v:foo3:A:main")}, _fromRanges = [Range {_start = Position {_line = 6, _character = 7}, _end = Position {_line = 6, _character = 11}}]}]
         but got: []
        Use -p '/Incoming Calls.multi file.1/' to rerun this test only.
      2:                         OK (10.02s)
  Outgoing Calls
    single file
      xdata unavailable:         OK (10.01s)
      xdata available:           OK (9.86s)
      data
        data type:               OK (9.80s)
        data constructor:        OK (9.78s)
      function:                  OK (9.51s)
      type synonym:              FAIL (9.36s)
        test/Main.hs:476:
        expected: [CallHierarchyOutgoingCall {_to = CallHierarchyItem {_name = "A", _kind = SkStruct, _tags = Nothing, _detail = Just "Main", _uri = Uri {getUri = "file:///private/var/folders/4m/d38fhm3936x_gy_9883zbq8h0000gn/T/extra-dir-55063990916/A.hs"}, _range = Range {_start = Position {_line = 0, _character = 0}, _end = Position {_line = 0, _character = 6}}, _selectionRange = Range {_start = Position {_line = 0, _character = 5}, _end = Position {_line = 0, _character = 6}}, _xdata = Just (String "t:A:Main:main")}, _fromRanges = [Range {_start = Position {_line = 1, _character = 7}, _end = Position {_line = 1, _character = 8}}]}]
         but got: []
        Use -p '/single file.type synonym/' to rerun this test only.
      type class instance:       OK (9.54s)
      data family instance:      OK (9.58s)
      GADT:                      OK (9.55s)
    multi file
      1:                         OK (9.91s)
      2:                         OK (10.21s)

4 out of 46 tests failed (28.95s)

Metadata

Metadata

Assignees

Labels

status: needs triagetype: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions