[check-clang][lit] can I just run my own test case in when using `make check-clang`?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[check-clang][lit] can I just run my own test case in when using `make check-clang`?

Manas via cfe-dev
I worte a reguation test and want to check if my code works, but it seems that I have to run `make check-clang`, and it will run all the tests belongs to check-clang, which takes a lot of times.

Since the test case is a cpp file and build into a bin with other tests (correct if I'm wrong), I can't use things like llvm-lit llvm-project/clang/test/Frontend/mytest.cpp

So anyway I can run "mytest" singlely?

_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: [check-clang][lit] can I just run my own test case in when using `make check-clang`?

Manas via cfe-dev
Weird thing is that if I run ./bin/llvm-lit -v ./tools/clang/test/Sema/asm.c, it works

But if I run ./bin/llvm-lit -v ./tools/clang/test/Frontend/plugin-attribute.cpp it says 
UNSUPPORTED: Clang :: Frontend/plugin-attribute.cpp (1 of 1)


On Mon, Nov 9, 2020 at 11:05 AM Yafei Liu <[hidden email]> wrote:
I worte a reguation test and want to check if my code works, but it seems that I have to run `make check-clang`, and it will run all the tests belongs to check-clang, which takes a lot of times.

Since the test case is a cpp file and build into a bin with other tests (correct if I'm wrong), I can't use things like llvm-lit llvm-project/clang/test/Frontend/mytest.cpp

So anyway I can run "mytest" singlely?

_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: [check-clang][lit] can I just run my own test case in when using `make check-clang`?

Manas via cfe-dev

There are several different kinds of tests within the project.  You might want to read through https://llvm.org/docs/TestingGuide.html to get an overview.

 

Lit tests (at least for Clang) are generally C/C++ sources intended to be inputs to clang; various compiler outputs are verified, usually with the FileCheck tool.  These test files are not built into a bin with all the other tests.  You should be able to use llvm-lit.py to run either a single test file, or one subdirectory (e.g., `llvm-lit clang/test/Sema` will run all the tests in Sema).

 

Individual lit tests can express requirements on the environment, and if these are not satisfied, llvm-lit will report UNSUPPORTED.  clang/test/Frontend/plugin-attribute.cpp is probably UNSUPPORTED because the test file contains the line `REQUIRES: plugins, examples` and those dependencies are not satisfied on your system.

 

Unit tests are cpp sources that directly call Clang or LLVM APIs in some way, e.g., using libTooling.  If that’s what you wrote, then you don’t want a lit test, you want to add your file to a unittest (or add a new unittest).  I think you can build the unittest programs with `make clang-test-depends` (that’s the correct target name for ninja, not sure about make).

 

Hope this helps,

--paulr

 

From: cfe-dev <[hidden email]> On Behalf Of Yafei Liu via cfe-dev
Sent: Sunday, November 8, 2020 10:19 PM
To: Clang Dev <[hidden email]>
Subject: Re: [cfe-dev] [check-clang][lit] can I just run my own test case in when using `make check-clang`?

 

Weird thing is that if I run ./bin/llvm-lit -v ./tools/clang/test/Sema/asm.c, it works

 

But if I run ./bin/llvm-lit -v ./tools/clang/test/Frontend/plugin-attribute.cpp it says 

UNSUPPORTED: Clang :: Frontend/plugin-attribute.cpp (1 of 1)

 

 

On Mon, Nov 9, 2020 at 11:05 AM Yafei Liu <[hidden email]> wrote:

I worte a reguation test and want to check if my code works, but it seems that I have to run `make check-clang`, and it will run all the tests belongs to check-clang, which takes a lot of times.

 

Since the test case is a cpp file and build into a bin with other tests (correct if I'm wrong), I can't use things like llvm-lit llvm-project/clang/test/Frontend/mytest.cpp

 

So anyway I can run "mytest" singlely?


_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: [check-clang][lit] can I just run my own test case in when using `make check-clang`?

Manas via cfe-dev
Hey Paul, if a test is unsupported on my environment, `make check-clang` will skip it, not reporting an failure, right?

On Mon, Nov 9, 2020 at 10:56 PM Robinson, Paul <[hidden email]> wrote:

There are several different kinds of tests within the project.  You might want to read through https://llvm.org/docs/TestingGuide.html to get an overview.

 

Lit tests (at least for Clang) are generally C/C++ sources intended to be inputs to clang; various compiler outputs are verified, usually with the FileCheck tool.  These test files are not built into a bin with all the other tests.  You should be able to use llvm-lit.py to run either a single test file, or one subdirectory (e.g., `llvm-lit clang/test/Sema` will run all the tests in Sema).

 

Individual lit tests can express requirements on the environment, and if these are not satisfied, llvm-lit will report UNSUPPORTED.  clang/test/Frontend/plugin-attribute.cpp is probably UNSUPPORTED because the test file contains the line `REQUIRES: plugins, examples` and those dependencies are not satisfied on your system.

 

Unit tests are cpp sources that directly call Clang or LLVM APIs in some way, e.g., using libTooling.  If that’s what you wrote, then you don’t want a lit test, you want to add your file to a unittest (or add a new unittest).  I think you can build the unittest programs with `make clang-test-depends` (that’s the correct target name for ninja, not sure about make).

 

Hope this helps,

--paulr

 

From: cfe-dev <[hidden email]> On Behalf Of Yafei Liu via cfe-dev
Sent: Sunday, November 8, 2020 10:19 PM
To: Clang Dev <[hidden email]>
Subject: Re: [cfe-dev] [check-clang][lit] can I just run my own test case in when using `make check-clang`?

 

Weird thing is that if I run ./bin/llvm-lit -v ./tools/clang/test/Sema/asm.c, it works

 

But if I run ./bin/llvm-lit -v ./tools/clang/test/Frontend/plugin-attribute.cpp it says 

UNSUPPORTED: Clang :: Frontend/plugin-attribute.cpp (1 of 1)

 

 

On Mon, Nov 9, 2020 at 11:05 AM Yafei Liu <[hidden email]> wrote:

I worte a reguation test and want to check if my code works, but it seems that I have to run `make check-clang`, and it will run all the tests belongs to check-clang, which takes a lot of times.

 

Since the test case is a cpp file and build into a bin with other tests (correct if I'm wrong), I can't use things like llvm-lit llvm-project/clang/test/Frontend/mytest.cpp

 

So anyway I can run "mytest" singlely?


_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: [check-clang][lit] can I just run my own test case in when using `make check-clang`?

Manas via cfe-dev
On Mon, Nov 9, 2020 at 7:03 PM Yafei Liu via cfe-dev
<[hidden email]> wrote:
>
> Hey Paul, if a test is unsupported on my environment, `make check-clang` will skip it, not reporting an failure, right?

make check-clang will do that (not report a failure on an UNSUPPORTED
test), but lit run directly on a specific file will report more
details on that test (if you lit test the whole directory it won't
report the UNSUPPORTED tests)

>
> On Mon, Nov 9, 2020 at 10:56 PM Robinson, Paul <[hidden email]> wrote:
>>
>> There are several different kinds of tests within the project.  You might want to read through https://llvm.org/docs/TestingGuide.html to get an overview.
>>
>>
>>
>> Lit tests (at least for Clang) are generally C/C++ sources intended to be inputs to clang; various compiler outputs are verified, usually with the FileCheck tool.  These test files are not built into a bin with all the other tests.  You should be able to use llvm-lit.py to run either a single test file, or one subdirectory (e.g., `llvm-lit clang/test/Sema` will run all the tests in Sema).
>>
>>
>>
>> Individual lit tests can express requirements on the environment, and if these are not satisfied, llvm-lit will report UNSUPPORTED.  clang/test/Frontend/plugin-attribute.cpp is probably UNSUPPORTED because the test file contains the line `REQUIRES: plugins, examples` and those dependencies are not satisfied on your system.
>>
>>
>>
>> Unit tests are cpp sources that directly call Clang or LLVM APIs in some way, e.g., using libTooling.  If that’s what you wrote, then you don’t want a lit test, you want to add your file to a unittest (or add a new unittest).  I think you can build the unittest programs with `make clang-test-depends` (that’s the correct target name for ninja, not sure about make).
>>
>>
>>
>> Hope this helps,
>>
>> --paulr
>>
>>
>>
>> From: cfe-dev <[hidden email]> On Behalf Of Yafei Liu via cfe-dev
>> Sent: Sunday, November 8, 2020 10:19 PM
>> To: Clang Dev <[hidden email]>
>> Subject: Re: [cfe-dev] [check-clang][lit] can I just run my own test case in when using `make check-clang`?
>>
>>
>>
>> Weird thing is that if I run ./bin/llvm-lit -v ./tools/clang/test/Sema/asm.c, it works
>>
>>
>>
>> But if I run ./bin/llvm-lit -v ./tools/clang/test/Frontend/plugin-attribute.cpp it says
>>
>> UNSUPPORTED: Clang :: Frontend/plugin-attribute.cpp (1 of 1)
>>
>>
>>
>>
>>
>> On Mon, Nov 9, 2020 at 11:05 AM Yafei Liu <[hidden email]> wrote:
>>
>> I worte a reguation test and want to check if my code works, but it seems that I have to run `make check-clang`, and it will run all the tests belongs to check-clang, which takes a lot of times.
>>
>>
>>
>> Since the test case is a cpp file and build into a bin with other tests (correct if I'm wrong), I can't use things like llvm-lit llvm-project/clang/test/Frontend/mytest.cpp
>>
>>
>>
>> So anyway I can run "mytest" singlely?
>
> _______________________________________________
> cfe-dev mailing list
> [hidden email]
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
_______________________________________________
cfe-dev mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev