Ignore:
Timestamp:
Nov 24, 2016, 1:14:11 PM (9 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: update vendor to version 4.4.3

Location:
vendor/current/lib/torture
Files:
1 added
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • vendor/current/lib/torture/subunit.c

    r740 r988  
    2020#include "includes.h"
    2121#include "lib/torture/torture.h"
    22 #include <subunit/child.h>
     22
     23static void subunit_send_event(char const * const event,
     24                char const * const name,
     25                char const * const details)
     26{
     27        if (NULL == details) {
     28                printf("%s: %s\n", event, name);
     29        } else {
     30                printf("%s: %s [\n", event, name);
     31                printf("%s", details);
     32                if (details[strlen(details) - 1] != '\n')
     33                        puts("");
     34                puts("]");
     35        }
     36        fflush(stdout);
     37}
    2338
    2439static void torture_subunit_suite_start(struct torture_context *ctx,
     
    6782{
    6883        char *fullname = torture_subunit_test_name(context, context->active_tcase, context->active_test);
    69         subunit_test_start(fullname);
     84        subunit_send_event("test", fullname, NULL);
    7085        torture_subunit_report_time(context);
    7186        talloc_free(fullname);
     
    7691{
    7792        char *fullname = torture_subunit_test_name(context, context->active_tcase, context->active_test);
     93        const char *result_str = "unknown";
    7894        torture_subunit_report_time(context);
    7995        switch (res) {
    8096        case TORTURE_OK:
    81                 subunit_test_pass(fullname);
     97                result_str = "success";
    8298                break;
    8399        case TORTURE_FAIL:
    84                 subunit_test_fail(fullname, reason);
     100                result_str = "failure";
    85101                break;
    86102        case TORTURE_ERROR:
    87                 subunit_test_error(fullname, reason);
     103                result_str = "error";
    88104                break;
    89105        case TORTURE_SKIP:
    90                 subunit_test_skip(fullname, reason);
     106                result_str = "skip";
    91107                break;
    92108        }
     109        subunit_send_event(result_str, fullname, reason);
    93110        talloc_free(fullname);
    94111}
  • vendor/current/lib/torture/torture.c

    r740 r988  
    8989
    9090        if (mkdtemp(*tempdir) == NULL) {
    91                 return map_nt_error_from_unix(errno);
     91                return map_nt_error_from_unix_common(errno);
    9292        }
    9393
     
    155155        if (local_deltree(tctx->outputdir) == -1) {
    156156                if (errno != 0) {
    157                         return map_nt_error_from_unix(errno);
     157                        return map_nt_error_from_unix_common(errno);
    158158                }
    159159                return NT_STATUS_UNSUCCESSFUL;
     
    278278        test->data = data;
    279279
    280         DLIST_ADD_END(tcase->tests, test, struct torture_test *);
     280        DLIST_ADD_END(tcase->tests, test);
    281281
    282282        return test;
     
    297297        tcase->tests = NULL;
    298298
    299         DLIST_ADD_END(suite->testcases, tcase, struct torture_tcase *);
     299        DLIST_ADD_END(suite->testcases, tcase);
    300300
    301301        return true;
     
    401401}
    402402
    403 static bool internal_torture_run_test(struct torture_context *context, 
     403static bool internal_torture_run_test(struct torture_context *context,
    404404                                          struct torture_tcase *tcase,
    405405                                          struct torture_test *test,
     
    410410        char *subunit_testname = NULL;
    411411
    412         if (tcase == NULL || strcmp(test->name, tcase->name) != 0) { 
     412        if (tcase == NULL || strcmp(test->name, tcase->name) != 0) {
    413413                subunit_testname = talloc_asprintf(context, "%s.%s", tcase->name, test->name);
    414414        } else {
     
    427427        context->last_result = TORTURE_OK;
    428428
    429         if (!already_setup && tcase->setup && 
    430                 !tcase->setup(context, &(tcase->data))) {
    431                 if (context->last_reason == NULL)
     429        if (!already_setup && tcase->setup &&
     430            !tcase->setup(context, &(tcase->data))) {
     431                if (context->last_reason == NULL)
    432432                        context->last_reason = talloc_strdup(context, "Setup failure");
    433433                context->last_result = TORTURE_ERROR;
    434434                success = false;
    435         } else if (test->dangerous && 
    436             !torture_setting_bool(context, "dangerous", false)) {
    437             context->last_result = TORTURE_SKIP;
    438             context->last_reason = talloc_asprintf(context,
    439                 "disabled %s - enable dangerous tests to use", test->name);
    440             success = true;
     435        } else if (test->dangerous &&
     436                   !torture_setting_bool(context, "dangerous", false)) {
     437                context->last_result = TORTURE_SKIP;
     438                context->last_reason = talloc_asprintf(context,
     439                "disabled %s - enable dangerous tests to use", test->name);
     440                success = true;
    441441        } else {
    442             success = test->run(context, tcase, test);
    443 
    444             if (!success && context->last_result == TORTURE_OK) {
    445                     if (context->last_reason == NULL)
    446                             context->last_reason = talloc_strdup(context, "Unknown error/failure");
    447                     context->last_result = TORTURE_ERROR;
    448             }
     442                success = test->run(context, tcase, test);
     443
     444                if (!success && context->last_result == TORTURE_OK) {
     445                        if (context->last_reason == NULL)
     446                                context->last_reason = talloc_strdup(context,
     447                                        "Unknown error/failure. Missing torture_fail() or torture_assert_*() call?");
     448                        context->last_result = TORTURE_ERROR;
     449                }
    449450        }
    450451
    451452        if (!already_setup && tcase->teardown && !tcase->teardown(context, tcase->data)) {
    452                 if (context->last_reason == NULL)
    453                     context->last_reason = talloc_strdup(context, "Setup failure");
    454                 context->last_result = TORTURE_ERROR;
     453                if (context->last_reason == NULL)
     454                        context->last_reason = talloc_strdup(context, "Setup failure");
     455                context->last_result = TORTURE_ERROR;
    455456                success = false;
    456457        }
    457458
    458         torture_ui_test_result(context, context->last_result, 
     459        torture_ui_test_result(context, context->last_result,
    459460                               context->last_reason);
    460        
     461
    461462        talloc_free(context->last_reason);
     463        context->last_reason = NULL;
    462464
    463465        context->active_test = NULL;
     
    616618        test->dangerous = false;
    617619
    618         DLIST_ADD_END(tcase->tests, test, struct torture_test *);
     620        DLIST_ADD_END(tcase->tests, test);
    619621
    620622        return tcase;
     
    650652        test->dangerous = false;
    651653
    652         DLIST_ADD_END(tcase->tests, test, struct torture_test *);
     654        DLIST_ADD_END(tcase->tests, test);
    653655
    654656        return tcase;
     
    664666                return false;
    665667
    666         DLIST_ADD_END(suite->children, child, struct torture_suite *);
     668        DLIST_ADD_END(suite->children, child);
    667669
    668670        /* FIXME: Check for duplicates and return false if the
     
    715717        test->dangerous = false;
    716718
    717         DLIST_ADD_END(tcase->tests, test, struct torture_test *);
     719        DLIST_ADD_END(tcase->tests, test);
    718720
    719721        return test;
     
    746748        test->dangerous = false;
    747749
    748         DLIST_ADD_END(tcase->tests, test, struct torture_test *);
     750        DLIST_ADD_END(tcase->tests, test);
    749751
    750752        return test;
  • vendor/current/lib/torture/torture.h

    r740 r988  
    289289        do { enum ndr_err_code __got = got, __expected = expected; \
    290290        if (__got != __expected) { \
    291                 torture_result(torture_ctx, TORTURE_FAIL, __location__": "#got" was %d, expected %d (%s): %s", __got, __expected, __STRING(expected), cmt); \
     291                torture_result(torture_ctx, TORTURE_FAIL, __location__": "#got" was %d (%s), expected %d (%s): %s", __got, ndr_errstr(__got), __expected, __STRING(expected), cmt); \
    292292                return false; \
    293293        }\
    294294        } while(0)
     295
     296#define torture_assert_hresult_equal(torture_ctx, got, expected, cmt) \
     297        do { HRESULT __got = got, __expected = expected; \
     298        if (!HRES_IS_EQUAL(__got, __expected)) { \
     299                torture_result(torture_ctx, TORTURE_FAIL, __location__": "#got" was %s, expected %s: %s", hresult_errstr(__got), hresult_errstr(__expected), cmt); \
     300                return false; \
     301        } \
     302        } while (0)
    295303
    296304#define torture_assert_casestr_equal(torture_ctx,got,expected,cmt) \
     
    415423        } while(0)
    416424
     425#define torture_assert_int_not_equal(torture_ctx,got,not_expected,cmt)\
     426        do { int __got = (got), __not_expected = (not_expected); \
     427        if (__got == __not_expected) { \
     428                torture_result(torture_ctx, TORTURE_FAIL, \
     429                        __location__": "#got" was %d (0x%X), expected a different number: %s", \
     430                        __got, __got, cmt); \
     431                return false; \
     432        } \
     433        } while(0)
     434
     435#define torture_assert_int_not_equal_goto(torture_ctx,got,not_expected,ret,label,cmt)\
     436        do { int __got = (got), __not_expected = (not_expected); \
     437        if (__got == __not_expected) { \
     438                torture_result(torture_ctx, TORTURE_FAIL, \
     439                        __location__": "#got" was %d (0x%X), expected a different number: %s", \
     440                        __got, __got, cmt); \
     441                ret = false; \
     442                goto label; \
     443        } \
     444        } while(0)
     445
    417446#define torture_assert_u64_equal(torture_ctx,got,expected,cmt)\
    418447        do { uint64_t __got = (got), __expected = (expected); \
     
    440469        } while(0)
    441470
     471#define torture_assert_u64_not_equal(torture_ctx,got,not_expected,cmt)\
     472        do { uint64_t __got = (got), __not_expected = (not_expected); \
     473        if (__got == __not_expected) { \
     474                torture_result(torture_ctx, TORTURE_FAIL, \
     475                        __location__": "#got" was %llu (0x%llX), expected a different number: %s", \
     476                        (unsigned long long)__got, (unsigned long long)__got, \
     477                        cmt); \
     478                return false; \
     479        } \
     480        } while(0)
     481
    442482#define torture_assert_errno_equal(torture_ctx,expected,cmt)\
    443483        do { int __expected = (expected); \
     
    447487                                           errno, strerror(errno), __expected, \
    448488                                           strerror(__expected), cmt); \
     489                return false; \
     490        } \
     491        } while(0)
     492
     493#define torture_assert_guid_equal(torture_ctx,got,expected,cmt)\
     494        do { struct GUID __got = (got), __expected = (expected); \
     495        if (!GUID_equal(&__got, &__expected)) { \
     496                torture_result(torture_ctx, TORTURE_FAIL, \
     497                        __location__": "#got" was %s, expected %s: %s", \
     498                        GUID_string(torture_ctx, &__got), GUID_string(torture_ctx, &__expected), cmt); \
    449499                return false; \
    450500        } \
     
    459509        } while(0)
    460510
     511#define torture_assert_sid_equal(torture_ctx,got,expected,cmt)\
     512        do { struct dom_sid *__got = (got), *__expected = (expected); \
     513        if (!dom_sid_equal(__got, __expected)) { \
     514                torture_result(torture_ctx, TORTURE_FAIL, \
     515                                           __location__": "#got" was %s, expected %s: %s", \
     516                                           dom_sid_string(torture_ctx, __got), dom_sid_string(torture_ctx, __expected), cmt); \
     517                return false; \
     518        } \
     519        } while(0)
     520
     521#define torture_assert_not_null(torture_ctx,got,cmt)\
     522        do { void *__got = (got); \
     523        if (__got == NULL) { \
     524                torture_result(torture_ctx, TORTURE_FAIL, \
     525                        __location__": "#got" was NULL, expected != NULL: %s", \
     526                        cmt); \
     527                return false; \
     528        } \
     529        } while(0)
     530
     531#define torture_assert_not_null_goto(torture_ctx,got,ret,label,cmt)\
     532        do { void *__got = (got); \
     533        if (__got == NULL) { \
     534                torture_result(torture_ctx, TORTURE_FAIL, \
     535                        __location__": "#got" was NULL, expected != NULL: %s", \
     536                        cmt); \
     537                ret = false; \
     538                goto label; \
     539        } \
     540        } while(0)
     541
    461542#define torture_skip(torture_ctx,cmt) do {\
    462543                torture_result(torture_ctx, TORTURE_SKIP, __location__": %s", cmt);\
     
    490571#define torture_assert_ndr_success(torture_ctx,expr,cmt) \
    491572                torture_assert_ndr_err_equal(torture_ctx,expr,NDR_ERR_SUCCESS,cmt)
     573
     574#define torture_assert_hresult_ok(torture_ctx,expr,cmt) \
     575                torture_assert_hresult_equal(torture_ctx,expr,HRES_ERROR(0), cmt)
    492576
    493577/* Getting settings */
     
    537621
    538622extern const struct torture_ui_ops torture_subunit_ui_ops;
     623extern const struct torture_ui_ops torture_simple_ui_ops;
    539624
    540625#endif /* __TORTURE_UI_H__ */
  • vendor/current/lib/torture/wscript_build

    r740 r988  
    22
    33bld.SAMBA_LIBRARY('torture',
    4         source='torture.c subunit.c',
    5         vnum='0.0.1',
    6         pc_files='torture.pc',
    7         public_deps='samba-hostconfig samba-util errors talloc tevent subunit',
    8         public_headers='torture.h'
    9         )
     4    private_library=True,
     5    source='torture.c subunit.c simple.c',
     6    public_deps='samba-hostconfig samba-util samba-errors talloc tevent',
     7    private_headers='torture.h'
     8    )
Note: See TracChangeset for help on using the changeset viewer.