X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Fcollection.h;h=91c76a6d7f9084558a892f2c3779855af2c51471;hb=1be0350e7ae7a566896a9fe52863dcc22433fc8a;hp=044acf036b4db7c6fca3d5494f5f6992117c1ab5;hpb=1c012a73c8d584d485924348388c0975cdd71831;p=m6w6%2Flibmemcached diff --git a/libtest/collection.h b/libtest/collection.h index 044acf03..91c76a6d 100644 --- a/libtest/collection.h +++ b/libtest/collection.h @@ -36,6 +36,10 @@ #pragma once +#include + +class Framework; + /** A structure which describes a collection of test cases. */ @@ -46,4 +50,50 @@ struct collection_st { struct test_st *tests; }; +namespace libtest { + +class Collection { +public: + Collection(Framework*, collection_st*); + + test_return_t exec(); + + const char* name() + { + return _name; + } + + uint32_t success() + { + return _success; + } + + uint32_t skipped() + { + return _skipped; + } + + uint32_t failed() + { + return _failed; + } + + uint32_t total() + { + return _total; + } + +private: + const char *_name; + test_callback_fn *_pre; + test_callback_fn *_post; + struct test_st *_tests; + Framework* _frame; + uint32_t _success; + uint32_t _skipped; + uint32_t _failed; + uint32_t _total; + libtest::Timer _timer; +}; +} // namespace libtest