[Beignet] [PATCH v2] utest_run: Rewrite the function main, adding the arguments parse.
He Junyan
junyan.he at linux.intel.com
Wed May 22 21:24:02 PDT 2013
The single case test works well.
Just use -n XXX
On 05/23/2013 11:36 AM, Sun, Yi wrote:
> Hi Zhigang,
>
> As Junyan said, I think we needn't change the utest any more. Since
> Junyan is going to have ported utest to piglit framework. So you can
> just ignore this patch.
>
>
> Thanks
> --Sun, Yi
>
>
> On Thu, 2013-05-23 at 11:29 +0800, zhigang gong wrote:
>> Hi,
>>
>> Just one minor comment, could you keep the single case running mode
>> the same as before?
>> I think that will be more convenient for the developer.
>>
>>
>> On Mon, May 20, 2013 at 3:14 PM, Yi Sun <yi.sun at intel.com> wrote:
>> Add three arguments:
>> -n <casename> : run a single case.
>> -a : run all sub cases.
>> -l : list all sub cases name.
>>
>> Signed-off-by: Yi Sun <yi.sun at intel.com>
>>
>> diff --git a/utests/utest.cpp b/utests/utest.cpp
>> index fc3467e..193e931 100644
>> --- a/utests/utest.cpp
>> +++ b/utests/utest.cpp
>> @@ -76,3 +76,13 @@ void UTest::runAll(void) {
>> }
>> }
>>
>> +void UTest::listAllCases()
>> +{
>> +if (utestList == NULL) return;
>> + for (size_t i = 0; i < utestList->size(); ++i) {
>> + const UTest &utest = (*utestList)[i];
>> + if (utest.fn == NULL) continue;
>> + std::cout << utest.name << std::endl;
>> + }
>> +
>> +}
>> diff --git a/utests/utest.hpp b/utests/utest.hpp
>> index 338a4dc..5487911 100644
>> --- a/utests/utest.hpp
>> +++ b/utests/utest.hpp
>> @@ -50,6 +50,8 @@ struct UTest
>> static void run(const char *name);
>> /*! Run all the tests */
>> static void runAll(void);
>> + /* List all the sub cases name*/
>> + static void listAllCases(void);
>> };
>>
>> /*! Register a new unit test */
>> diff --git a/utests/utest_run.cpp b/utests/utest_run.cpp
>> index e577b7b..3974bbb 100644
>> --- a/utests/utest_run.cpp
>> +++ b/utests/utest_run.cpp
>> @@ -26,19 +26,67 @@
>> #include "utest_helper.hpp"
>> #include "utest_exception.hpp"
>> #include <iostream>
>> +#include <getopt.h>
>> +
>> +static const char *shortopts = "n:la";
>> +struct option longopts[] = {
>> +{"name", required_argument, NULL, 'n'},
>> +{"list", no_argument, NULL, 'l'},
>> +{0, 0, 0, 0},
>> +};
>> +
>> +void usage()
>> +{
>> + std::cout << "\
>> +Usage:\n\
>> + ./utest_run <option>\n\
>> +\n\
>> + option:\n\
>> + -n <casename>: run sub-case named 'casename'\n\
>> + -l : list all the available case name\n\
>> + -a : run all test cases\n\
>> +\
>> + "<< std::endl;
>> +}
>>
>> int main(int argc, char *argv[])
>> {
>> - try {
>> +
>> + int c;
>> cl_ocl_init();
>> - if (argc >= 2)
>> - for (int i = 1; i < argc; ++i)
>> - UTest::run(argv[i]);
>> - else
>> - UTest::runAll();
>> +
>> + while ((c = getopt_long (argc, argv, shortopts, longopts,
>> NULL)) != -1)
>> + {
>> + switch (c)
>> + {
>> + case 'n':
>> + try {
>> + UTest::run(optarg);
>> + }
>> + catch (Exception e){
>> + std::cout << " " << e.what() << "
>> [SUCCESS]" << std::endl;
>> + }
>> +
>> + break;
>> +
>> + case 'l':
>> + UTest::listAllCases();
>> + break;
>> +
>> + case 'a':
>> + try {
>> + UTest::runAll();
>> + }
>> + catch (Exception e){
>> + std::cout << " " << e.what() << "
>> [SUCCESS]" << std::endl;
>> + }
>> +
>> + break;
>> + default: usage();
>> + exit(1);
>> + }
>> + }
>> +
>> cl_ocl_destroy();
>> - } catch (Exception e) {
>> - std::cout << " " << e.what() << " [SUCCESS]" <<
>> std::endl;
>> - }
>> }
>>
>> --
>> 1.7.6.4
>>
>> _______________________________________________
>> Beignet mailing list
>> Beignet at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/beignet
>>
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet
>
More information about the Beignet
mailing list