Changeset 96ae12b in mainline


Ignore:
Timestamp:
2018-07-05T21:41:23Z (6 years ago)
Author:
Dzejrou <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fceeb93
Parents:
e54bbde5
git-author:
Dzejrou <dzejrou@…> (2018-05-11 18:05:44)
git-committer:
Dzejrou <dzejrou@…> (2018-07-05 21:41:23)
Message:

cpp: updated & fixed tests, now output is optional (for possible use with pcut)

Location:
uspace/lib/cpp
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/include/internal/test/test.hpp

    re54bbde5 r96ae12b  
    11/*
    2  * Copyright (c) 2017 Jaroslav Jindrak
     2 * Copyright (c) 2018 Jaroslav Jindrak
    33 * All rights reserved.
    44 *
     
    3131
    3232#include <utility>
     33#include <iterator>
    3334
    3435namespace std::test
     
    3738    {
    3839        public:
    39             virtual bool run() = 0;
     40            virtual bool run(bool) = 0;
    4041            virtual const char* name() = 0;
    4142
     
    5455            unsigned int succeeded_{};
    5556            bool ok_{true};
     57            bool report_{true};
    5658
    5759            template<class... Args>
     
    8183                           Iterator2 first2, Iterator2 last2)
    8284            {
    83                 if ((last1 - first1) != (last2 - first2))
     85                if (std::distance(first1, last1) != std::distance(first2, last2))
    8486                    return false;
    8587
  • uspace/lib/cpp/include/internal/test/tests.hpp

    re54bbde5 r96ae12b  
    11/*
    2  * Copyright (c) 2017 Jaroslav Jindrak
     2 * Copyright (c) 2018 Jaroslav Jindrak
    33 * All rights reserved.
    44 *
     
    4747            }
    4848
    49             bool run()
     49            bool run(bool report)
    5050            {
    5151                bool res{true};
     
    5555                for (auto test: tests_)
    5656                {
    57                     res &= test->run();
     57                    res &= test->run(report);
    5858                    succeeded += test->get_succeeded();
    5959                    failed += test->get_failed();
    6060                }
    6161
    62                 std::printf("\n");
    63                 if (res)
    64                     std::printf("[TESTS SUCCEEDED!]");
    65                 else
    66                     std::printf("[TESTS FAILED]");
    67                 std::printf("[%u OK][%u FAIL][%u TOTAL]\n",
    68                             succeeded, failed, (succeeded + failed));
     62                if (report)
     63                {
     64                    std::printf("\n");
     65                    if (res)
     66                        std::printf("[TESTS SUCCEEDED!]");
     67                    else
     68                        std::printf("[TESTS FAILED]");
     69                    std::printf("[%u OK][%u FAIL][%u TOTAL]\n",
     70                                succeeded, failed, (succeeded + failed));
     71                }
    6972
    7073                return res;
     
    8487    {
    8588        public:
    86             bool run() override;
     89            bool run(bool) override;
    8790            const char* name() override;
    8891
     
    9497    {
    9598        public:
    96             bool run() override;
     99            bool run(bool) override;
    97100            const char* name() override;
    98101
     
    109112    {
    110113        public:
    111             bool run() override;
     114            bool run(bool) override;
    112115            const char* name() override;
    113116
  • uspace/lib/cpp/src/internal/test/array.cpp

    re54bbde5 r96ae12b  
    11/*
    2  * Copyright (c) 2017 Jaroslav Jindrak
     2 * Copyright (c) 2018 Jaroslav Jindrak
    33 * All rights reserved.
    44 *
     
    3434namespace std::test
    3535{
    36     bool array_test::run()
     36    bool array_test::run(bool report)
    3737    {
     38        report_ = report;
    3839        start();
    3940
  • uspace/lib/cpp/src/internal/test/string.cpp

    re54bbde5 r96ae12b  
    11/*
    2  * Copyright (c) 2017 Jaroslav Jindrak
     2 * Copyright (c) 2018 Jaroslav Jindrak
    33 * All rights reserved.
    44 *
     
    3434namespace std::test
    3535{
    36     bool string_test::run()
    37     {
     36    bool string_test::run(bool report)
     37    {
     38        report_ = report;
    3839        start();
    3940
  • uspace/lib/cpp/src/internal/test/test.cpp

    re54bbde5 r96ae12b  
    3434    void test_suite::report(bool result, const char* tname)
    3535    {
     36        if (!report_)
     37            return;
     38
    3639        if (result)
    3740            std::printf("[%s][%s] ... OK\n", name(), tname);
     
    4245    void test_suite::start()
    4346    {
    44         std::printf("\n[TEST START][%s]\n", name());
     47        if (report_)
     48            std::printf("\n[TEST START][%s]\n", name());
    4549    }
    4650
    4751    bool test_suite::end()
    4852    {
    49         std::printf("[TEST END][%s][%u OK][%u FAIL]\n",
    50                     name(), succeeded_, failed_);
     53        if (report_)
     54            std::printf("[TEST END][%s][%u OK][%u FAIL]\n",
     55                        name(), succeeded_, failed_);
    5156        return ok_;
    5257    }
  • uspace/lib/cpp/src/internal/test/vector.cpp

    re54bbde5 r96ae12b  
    11/*
    2  * Copyright (c) 2017 Jaroslav Jindrak
     2 * Copyright (c) 2018 Jaroslav Jindrak
    33 * All rights reserved.
    44 *
     
    3535namespace std::test
    3636{
    37     bool vector_test::run()
    38     {
     37    bool vector_test::run(bool report)
     38    {
     39        report_ = report;
    3940        start();
    4041
     
    129130        );
    130131
    131         test_eq("move assignment origin empty", vec9.size(), 0);
     132        test_eq("move assignment origin empty", vec9.size(), 0U);
    132133    }
    133134
Note: See TracChangeset for help on using the changeset viewer.