Skip to content

ClangdTests.exe/Hover.All fail on 32-bit windows #44041

@zmodem

Description

@zmodem
Bugzilla Link 44696
Resolution FIXED
Resolved on Jan 29, 2020 12:54
Version trunk
OS Linux
Blocks #43900
CC @kadircet

Extended Description

The problem is that member functions have attribute((thiscall)) in the AST when targeting 32-bit Windows, and the test doesn't expect that.

I wasn't sure how to fix that. Alternatively, maybe the test could have a target triple so that the AST doesn't vary between host platforms?

[2044/2045] Running the Clangd regression tests
llvm-lit.py: C:/src/llvm.monorepo/llvm\utils\lit\lit\llvm\config.py:342: note: using clang: c:\src\llvm.monorepo\build.32_2019\bin\clang.exe
-- Testing: 724 tests, 32 workers --
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
FAIL: Clangd Unit Tests :: ./ClangdTests.exe/Hover.All (723 of 724)
******************** TEST 'Clangd Unit Tests :: ./ClangdTests.exe/Hover.All' FAILED ********************
Note: Google Test filter = Hover.All
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from Hover
[ RUN ] Hover.All
C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1628): error: Expected: H->Type
Which is: int () attribute((thiscall))
To be equal to: Expected.Type
Which is: int ()
Google Test trace:
C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1621): instance-method x

→ int

// In Foo
int x()
C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1604): // Method call
struct Foo { int x(); };
int main() {
Foo bar;
bar.^[x];
}

C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1628): error: Expected: H->Type
Which is: int () attribute((thiscall))
To be equal to: Expected.Type
Which is: int ()
Google Test trace:
C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1621): instance-method method

→ int

// In cls
int method()
C:\src\llvm.monorepo\clang-tools-extra\clangd\unittests\HoverTests.cpp(1604): // should not crash.
template struct cls {
int method();
};

      auto test = cls<int>().[[m^ethod]]();

[ FAILED ] Hover.All (959 ms)
[----------] 1 test from Hover (959 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (959 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] Hover.All

1 FAILED TEST
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213812 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213900 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213904 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp
Building first preamble for C:\clangd-test\TestTU.cpp
Built preamble of size 213704 for file C:\clangd-test\TestTU.cpp


Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..

Testing Time: 5.27s


Failing Tests (1):
Clangd Unit Tests :: ./ClangdTests.exe/Hover.All

Expected Passes : 715
Unsupported Tests : 8
Unexpected Failures: 1
FAILED: tools/clang/tools/extra/clangd/test/CMakeFiles/check-clangd
cmd.exe /C "cd /D C:\src\llvm.monorepo\build.32_2019\tools\clang\tools\extra\clangd\test && C:\python_27_amd64\files\python.exe C:/src/llvm.monorepo/build.32_2019/./bin/llvm-lit.py -sv C:/src/llvm.monorepo/build.32_2019/tools/clang/tools/extra/clangd/test/../unittests C:/src/llvm.monorepo/build.32_2019/tools/clang/tools/extra/clangd/test"
ninja: build stopped: subcommand failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions