Changeset d5047002 in mainline


Ignore:
Timestamp:
2018-07-05T21:41:24Z (6 years ago)
Author:
Dzejrou <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
28cb7843
Parents:
4960254
git-author:
Dzejrou <dzejrou@…> (2018-05-17 18:57:52)
git-committer:
Dzejrou <dzejrou@…> (2018-07-05 21:41:24)
Message:

cpp: added test() for easier boolean tests and changed static tests in memory to dynamic tests so that they appear in the test report

Location:
uspace/lib/cpp
Files:
2 edited

Legend:

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

    r4960254 rd5047002  
    5757            bool ok_{true};
    5858            bool report_{true};
     59
     60            void test(const char* tname, bool expr)
     61            {
     62                test_eq(tname, expr, true);
     63            }
    5964
    6065            template<class... Args>
  • uspace/lib/cpp/src/__bits/test/memory.cpp

    r4960254 rd5047002  
    212212         * so we get all the defaults here.
    213213         */
    214         static_assert(std::is_same_v<typename dummy_traits1::pointer, int*>);
    215         static_assert(std::is_same_v<typename dummy_traits1::const_pointer, const int*>);
    216         static_assert(std::is_same_v<typename dummy_traits1::void_pointer, void*>);
    217         static_assert(std::is_same_v<typename dummy_traits1::const_void_pointer, const void*>);
    218         static_assert(std::is_same_v<typename dummy_traits1::difference_type, ptrdiff_t>);
    219         static_assert(std::is_same_v<typename dummy_traits1::size_type, std::make_unsigned_t<ptrdiff_t>>);
    220         static_assert(std::is_same_v<typename dummy_traits1::propagate_on_container_copy_assignment, std::false_type>);
    221         static_assert(std::is_same_v<typename dummy_traits1::propagate_on_container_move_assignment, std::false_type>);
    222         static_assert(std::is_same_v<typename dummy_traits1::propagate_on_container_swap, std::false_type>);
    223         static_assert(std::is_same_v<typename dummy_traits1::is_always_equal, typename std::is_empty<aux::dummy_allocator1>::type>);
     214        test(
     215            "allocator traits default for pointer",
     216            std::is_same_v<typename dummy_traits1::pointer, int*>
     217        );
     218        test(
     219            "allocator traits default for const_pointer",
     220            std::is_same_v<typename dummy_traits1::const_pointer, const int*>
     221        );
     222        test(
     223            "allocator traits default for void_pointer",
     224            std::is_same_v<typename dummy_traits1::void_pointer, void*>
     225        );
     226        test(
     227            "allocator traits default for const_void_pointer",
     228            std::is_same_v<typename dummy_traits1::const_void_pointer, const void*>
     229        );
     230        test(
     231            "allocator traits default for difference_type",
     232            std::is_same_v<typename dummy_traits1::difference_type, ptrdiff_t>
     233        );
     234        test(
     235            "allocator traits default for size_type",
     236            std::is_same_v<typename dummy_traits1::size_type, std::make_unsigned_t<ptrdiff_t>>
     237        );
     238        test(
     239            "allocator traits default for copy propagate",
     240            std::is_same_v<typename dummy_traits1::propagate_on_container_copy_assignment, std::false_type>
     241        );
     242        test(
     243            "allocator traits default for move propagate",
     244            std::is_same_v<typename dummy_traits1::propagate_on_container_move_assignment, std::false_type>
     245        );
     246        test(
     247            "allocator traits default for swap propagate",
     248            std::is_same_v<typename dummy_traits1::propagate_on_container_swap, std::false_type>
     249        );
     250        test(
     251            "allocator traits default for is_always_equal",
     252            std::is_same_v<typename dummy_traits1::is_always_equal, typename std::is_empty<aux::dummy_allocator1>::type>
     253        );
    224254
    225255        /**
     
    227257         * the the traits just use identity.
    228258         */
    229         static_assert(std::is_same_v<typename dummy_traits2::pointer, char*>);
    230         static_assert(std::is_same_v<typename dummy_traits2::const_pointer, const void*>);
    231         static_assert(std::is_same_v<typename dummy_traits2::void_pointer, bool*>);
    232         static_assert(std::is_same_v<typename dummy_traits2::const_void_pointer, volatile bool*>);
    233         static_assert(std::is_same_v<typename dummy_traits2::difference_type, short>);
    234         static_assert(std::is_same_v<typename dummy_traits2::size_type, long>);
    235         static_assert(std::is_same_v<typename dummy_traits2::propagate_on_container_copy_assignment, std::true_type>);
    236         static_assert(std::is_same_v<typename dummy_traits2::propagate_on_container_move_assignment, std::true_type>);
    237         static_assert(std::is_same_v<typename dummy_traits2::propagate_on_container_swap, std::true_type>);
    238         static_assert(std::is_same_v<typename dummy_traits2::is_always_equal, std::true_type>);
     259        test(
     260            "allocator traits given pointer",
     261            std::is_same_v<typename dummy_traits2::pointer, char*>
     262        );
     263        test(
     264            "allocator traits given const_pointer",
     265            std::is_same_v<typename dummy_traits2::const_pointer, const void*>
     266        );
     267        test(
     268            "allocator traits given void_pointer",
     269            std::is_same_v<typename dummy_traits2::void_pointer, bool*>
     270        );
     271        test(
     272            "allocator traits given const_void_pointer",
     273            std::is_same_v<typename dummy_traits2::const_void_pointer, volatile bool*>
     274        );
     275        test(
     276            "allocator traits given difference_type",
     277            std::is_same_v<typename dummy_traits2::difference_type, short>
     278        );
     279        test(
     280            "allocator traits given size_type",
     281            std::is_same_v<typename dummy_traits2::size_type, long>
     282        );
     283        test(
     284            "allocator traits given copy propagate",
     285            std::is_same_v<typename dummy_traits2::propagate_on_container_copy_assignment, std::true_type>
     286        );
     287        test(
     288            "allocator traits given move propagate",
     289            std::is_same_v<typename dummy_traits2::propagate_on_container_move_assignment, std::true_type>
     290        );
     291        test(
     292            "allocator traits given swap propagate",
     293            std::is_same_v<typename dummy_traits2::propagate_on_container_swap, std::true_type>
     294        );
     295        test(
     296            "allocator traits given is_always_equal",
     297            std::is_same_v<typename dummy_traits2::is_always_equal, std::true_type>
     298        );
    239299    }
    240300
     
    245305        using int_traits    = std::pointer_traits<int*>;
    246306
    247         static_assert(std::is_same_v<typename dummy_traits1::pointer, aux::dummy_pointer1>);
    248         static_assert(std::is_same_v<typename dummy_traits1::element_type, int>);
    249         static_assert(std::is_same_v<typename dummy_traits1::difference_type, bool>);
    250         static_assert(std::is_same_v<typename dummy_traits1::template rebind<long>, unsigned>);
     307        test(
     308            "pointer traits pointer pt1",
     309            std::is_same_v<typename dummy_traits1::pointer, aux::dummy_pointer1>
     310        );
     311        test(
     312            "pointer traits element_type pt1",
     313            std::is_same_v<typename dummy_traits1::element_type, int>
     314        );
     315        test(
     316            "pointer traits difference_type pt1",
     317            std::is_same_v<typename dummy_traits1::difference_type, bool>
     318        );
     319        test(
     320            "pointer traits rebind pt1",
     321            std::is_same_v<typename dummy_traits1::template rebind<long>, unsigned>
     322        );
     323
     324        test(
     325            "pointer traits pointer pt2",
     326            std::is_same_v<typename dummy_traits2::pointer, aux::dummy_pointer2<int, char>>
     327        );
     328        test(
     329            "pointer traits element_type pt2",
     330            std::is_same_v<typename dummy_traits2::element_type, signed char>
     331        );
     332        test(
     333            "pointer traits difference_type pt2",
     334            std::is_same_v<typename dummy_traits2::difference_type, unsigned char>
     335        );
     336        test(
     337            "pointer traits rebind pt2",
     338            std::is_same_v<typename dummy_traits2::template rebind<long>, aux::dummy_pointer2<long, char>>
     339        );
     340
     341        test(
     342            "pointer traits pointer pt3",
     343            std::is_same_v<typename int_traits::pointer, int*>
     344        );
     345        test(
     346            "pointer traits element_type pt3",
     347            std::is_same_v<typename int_traits::element_type, int>
     348        );
     349        test(
     350            "pointer traits difference_type pt3",
     351            std::is_same_v<typename int_traits::difference_type, ptrdiff_t>
     352        );
     353        test(
     354            "pointer traits rebind pt3",
     355            std::is_same_v<typename int_traits::rebind<char>, char*>
     356        );
    251357
    252358        int x{10};
    253359        test_eq("pointer_traits<Ptr>::pointer_to", dummy_traits1::pointer_to(x).tag, 10);
    254360        test_eq("pointer_traits<T*>::pointer_to", int_traits::pointer_to(x), &x);
    255 
    256         static_assert(std::is_same_v<typename dummy_traits2::pointer, aux::dummy_pointer2<int, char>>);
    257         static_assert(std::is_same_v<typename dummy_traits2::element_type, signed char>);
    258         static_assert(std::is_same_v<typename dummy_traits2::difference_type, unsigned char>);
    259 
    260         static_assert(std::is_same_v<typename int_traits::pointer, int*>);
    261         static_assert(std::is_same_v<typename int_traits::element_type, int>);
    262         static_assert(std::is_same_v<typename int_traits::difference_type, ptrdiff_t>);
    263         static_assert(std::is_same_v<typename int_traits::rebind<char>, char*>);
    264361    }
    265362}
Note: See TracChangeset for help on using the changeset viewer.