您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ATF_REQUIRE函数代码示例

51自学网 2021-06-01 19:38:22
  C++
这篇教程C++ ATF_REQUIRE函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ATF_REQUIRE函数的典型用法代码示例。如果您正苦于以下问题:C++ ATF_REQUIRE函数的具体用法?C++ ATF_REQUIRE怎么用?C++ ATF_REQUIRE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ATF_REQUIRE函数的22个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ATF_TC_BODY

ATF_TC_BODY(hexadecimal_rounding, tc){    ATF_REQUIRE(setlocale(LC_NUMERIC, "C"));    fesetround(FE_TOWARDZERO);    testfmt("0X1.23456789ABCP+0", "%.11A", 0x1.23456789abcdep0);    testfmt("-0x1.23456p+0", "%.5a", -0x1.23456789abcdep0);    testfmt("0x1.23456p+0", "%.5a", 0x1.23456789abcdep0);    testfmt("0x1.234567p+0", "%.6a", 0x1.23456789abcdep0);    testfmt("-0x1.234566p+0", "%.6a", -0x1.23456689abcdep0);    fesetround(FE_DOWNWARD);    testfmt("0X1.23456789ABCP+0", "%.11A", 0x1.23456789abcdep0);    testfmt("-0x1.23457p+0", "%.5a", -0x1.23456789abcdep0);    testfmt("0x1.23456p+0", "%.5a", 0x1.23456789abcdep0);    testfmt("0x1.234567p+0", "%.6a", 0x1.23456789abcdep0);    testfmt("-0x1.234567p+0", "%.6a", -0x1.23456689abcdep0);    fesetround(FE_UPWARD);    testfmt("0X1.23456789ABDP+0", "%.11A", 0x1.23456789abcdep0);    testfmt("-0x1.23456p+0", "%.5a", -0x1.23456789abcdep0);    testfmt("0x1.23457p+0", "%.5a", 0x1.23456789abcdep0);    testfmt("0x1.234568p+0", "%.6a", 0x1.23456789abcdep0);    testfmt("-0x1.234566p+0", "%.6a", -0x1.23456689abcdep0);    fesetround(FE_TONEAREST);    testfmt("0x1.23456789abcdep+4", "%a", 0x1.23456789abcdep4);    testfmt("0X1.23456789ABDP+0", "%.11A", 0x1.23456789abcdep0);    testfmt("-0x1.23456p+0", "%.5a", -0x1.23456789abcdep0);    testfmt("0x1.23456p+0", "%.5a", 0x1.23456789abcdep0);    testfmt("0x1.234568p+0", "%.6a", 0x1.23456789abcdep0);    testfmt("-0x1.234567p+0", "%.6a", -0x1.23456689abcdep0);    testfmt("0x1.00p-1029", "%.2a", 0x1.fffp-1030);    testfmt("0x1.00p-1026", "%.2a", 0xf.fffp-1030);    testfmt("0x1.83p+0", "%.2a", 1.51);}
开发者ID:jaredmcneill,项目名称:freebsd,代码行数:37,


示例2: ATF_TC_BODY

ATF_TC_BODY(current_path__enoent, tc){    char* previous;    ATF_REQUIRE(!kyua_error_is_set(kyua_fs_current_path(&previous)));    ATF_REQUIRE(mkdir("root", 0755) != -1);    ATF_REQUIRE(chdir("root") != -1);    ATF_REQUIRE(rmdir("../root") != -1);    char* cwd = (char*)0xdeadbeef;    kyua_error_t error = kyua_fs_current_path(&cwd);    ATF_REQUIRE(kyua_error_is_set(error));    ATF_REQUIRE(kyua_error_is_type(error, "libc"));    ATF_REQUIRE_EQ(ENOENT, kyua_libc_error_errno(error));    ATF_REQUIRE_EQ((char*)0xdeadbeef, cwd);    kyua_error_free(error);    free(previous);}
开发者ID:phoatfreebsd,项目名称:kyua,代码行数:18,


示例3: ATF_TC_BODY

ATF_TC_BODY(setlogin_perm, tc){	char *name;	pid_t pid;	int sta;	pid = fork();	ATF_REQUIRE(pid >= 0);	if (pid == 0) {		(void)setsid();		errno = 0;		if (setlogin("foobar") != -1)			_exit(EXIT_FAILURE);		if (errno != EPERM)			_exit(EXIT_FAILURE);		name = getlogin();		if (name == NULL)			_exit(EXIT_FAILURE);		if (strcmp(name, "foobar") == 0)			_exit(EXIT_FAILURE);		_exit(EXIT_SUCCESS);	}	(void)wait(&sta);	if (WIFEXITED(sta) == 0 || WEXITSTATUS(sta) != EXIT_SUCCESS)		atf_tc_fail("login name was set as an unprivileged user");}
开发者ID:2asoft,项目名称:freebsd,代码行数:37,


示例4: ATF_TC_BODY

ATF_TC_BODY(require_errno, tc){    struct test {        void (*head)(atf_tc_t *);        void (*body)(const atf_tc_t *);        bool ok;        const char *exp_regex;    } *t, tests[] = {        { H_REQUIRE_ERRNO_HEAD_NAME(no_error),          H_REQUIRE_ERRNO_BODY_NAME(no_error),          false, "Expected true value in errno_ok_stub//(//) == -1" },        { H_REQUIRE_ERRNO_HEAD_NAME(errno_ok),          H_REQUIRE_ERRNO_BODY_NAME(errno_ok),          true, NULL },        { H_REQUIRE_ERRNO_HEAD_NAME(errno_fail),          H_REQUIRE_ERRNO_BODY_NAME(errno_fail),          false, "Expected errno 3, got 4, in errno_fail_stub//(4//) == -1" },        { NULL, NULL, false, NULL }    };    for (t = &tests[0]; t->head != NULL; t++) {        init_and_run_h_tc("h_require_errno", t->head, t->body);        ATF_REQUIRE(exists("before"));        if (t->ok) {            ATF_REQUIRE(atf_utils_grep_file("^passed", "result"));            ATF_REQUIRE(exists("after"));        } else {            ATF_REQUIRE(atf_utils_grep_file(                "^failed: .*macros_test.c:[0-9]+: %s$", "result",                t->exp_regex));            ATF_REQUIRE(!exists("after"));        }        ATF_REQUIRE(unlink("before") != -1);        if (t->ok)            ATF_REQUIRE(unlink("after") != -1);    }}
开发者ID:Henauxg,项目名称:minix,代码行数:39,


示例5: ATF_TC_BODY

ATF_TC_BODY(config, tcin){    atf_tc_t tc;    const char *const config[] = { "test-var", "test-value", NULL };    RE(atf_tc_init(&tc, "test1", ATF_TC_HEAD_NAME(empty),                   ATF_TC_BODY_NAME(empty), NULL, NULL));    ATF_REQUIRE(!atf_tc_has_config_var(&tc, "test-var"));    ATF_REQUIRE(!atf_tc_has_md_var(&tc, "test-var"));    atf_tc_fini(&tc);    RE(atf_tc_init(&tc, "test1", ATF_TC_HEAD_NAME(empty),                   ATF_TC_BODY_NAME(empty), NULL, config));    ATF_REQUIRE(atf_tc_has_config_var(&tc, "test-var"));    ATF_REQUIRE(strcmp(atf_tc_get_config_var(&tc, "test-var"),                     "test-value") == 0);    ATF_REQUIRE(!atf_tc_has_md_var(&tc, "test-var"));    ATF_REQUIRE(!atf_tc_has_config_var(&tc, "test-var2"));    ATF_REQUIRE(strcmp(atf_tc_get_config_var_wd(&tc, "test-var2", "def-value"),                     "def-value") == 0);    atf_tc_fini(&tc);}
开发者ID:jaredmcneill,项目名称:netbsd-src,代码行数:22,


示例6: ATF_TC_BODY

ATF_TC_BODY(sigio, tc){	struct sockaddr_in sin;	int ls;	int cs;	int fl;	int sc;	signal(SIGIO, gotsig);	RZ(system("rump_server -lrumpnet -lrumpnet_net -lrumpnet_netinet "	    RUMPSERV));	RL(setenv("RUMP_SERVER", RUMPSERV, 1));	RL(rumpclient_init());	RL(ls = rump_sys_socket(PF_INET, SOCK_STREAM, 0));	RL(rump_sys_fcntl(ls, F_SETOWN, rump_sys_getpid()));	RL(fl = rump_sys_fcntl(ls, F_GETFL));	RL(rump_sys_fcntl(ls, F_SETFL, fl | O_ASYNC));	memset(&sin, 0, sizeof(sin));	sin.sin_len = sizeof(sin);	sin.sin_family = AF_INET;	sin.sin_port = htons(12345);	RL(rump_sys_bind(ls, (struct sockaddr *)&sin, sizeof(sin)));	RL(rump_sys_listen(ls, 5));	RL(cs = rump_sys_socket(PF_INET, SOCK_STREAM, 0));	sin.sin_addr.s_addr = inet_addr("127.0.0.1");	ATF_REQUIRE_EQ(sigcnt, 0);	RL(rump_sys_connect(cs, (struct sockaddr *)&sin, sizeof(sin)));	sc = sigcnt;	printf("sigcnt after connect: %d/n", sc);	ATF_REQUIRE(sc >= 1);}
开发者ID:2asoft,项目名称:freebsd,代码行数:36,


示例7: ATF_TC_BODY

ATF_TC_BODY(fpclassify_float, tc){	float d0, d1, d2, f, ip;	int e, i;	d0 = FLT_MIN;	ATF_REQUIRE_EQ(fpclassify(d0), FP_NORMAL);	f = frexpf(d0, &e);	ATF_REQUIRE_EQ(e, FLT_MIN_EXP);	ATF_REQUIRE_EQ(f, 0.5);	d1 = d0;	/* shift a "1" bit through the mantissa (skip the implicit bit) */	for (i = 1; i < FLT_MANT_DIG; i++) {		d1 /= 2;		ATF_REQUIRE_EQ(fpclassify(d1), FP_SUBNORMAL);		ATF_REQUIRE(d1 > 0 && d1 < d0);		d2 = ldexpf(d0, -i);		ATF_REQUIRE_EQ(d2, d1);		d2 = modff(d1, &ip);		ATF_REQUIRE_EQ(d2, d1);		ATF_REQUIRE_EQ(ip, 0);		f = frexpf(d1, &e);		ATF_REQUIRE_EQ(e, FLT_MIN_EXP - i);		ATF_REQUIRE_EQ(f, 0.5);	}	d1 /= 2;	ATF_REQUIRE_EQ(fpclassify(d1), FP_ZERO);	f = frexpf(d1, &e);	ATF_REQUIRE_EQ(e, 0);	ATF_REQUIRE_EQ(f, 0);}
开发者ID:2asoft,项目名称:freebsd,代码行数:36,


示例8: ATF_TC_BODY

ATF_TC_BODY(check_parsing, tc){    struct pkg_dep_formula *f;    const char *cases[] = {        "name",        "name = 1.0",        "name >= 1.0,1",        "name1, name2",        "name1 | name2, name3",        "name1 = 1.0 | name2 != 1.0, name3 > 1.0 < 2.0 != 1.5",        "name1 = 1.0 | name2 != 1.0, name3 > 1.0 < 2.0 != 1.5, name4 +opt1 -opt2"    };    char *r;    int i;    for (i = 0; i < sizeof(cases) / sizeof(cases[0]); i ++) {        f = pkg_deps_parse_formula(cases[i]);        ATF_REQUIRE(f != NULL);        r = pkg_deps_formula_tostring(f);        ATF_REQUIRE_STREQ(r, cases[i]);        free(r);        pkg_deps_formula_free(f);    }}
开发者ID:neirbowj,项目名称:pkg,代码行数:24,


示例9: ATF_TC_BODY

ATF_TC_BODY(pkg_current_state_remote, tc){	struct pkg     *package;	package = gen_pkg(PKG_REMOTE);	ATF_REQUIRE(package != NULL);	/* Old version newer -> available */	pkg_set(package, PKG_OLD_VERSION, "1.2.3");	ATF_CHECK_EQ(pkgutils_pkg_current_state(package),	    PK_INFO_ENUM_AVAILABLE);	/* Old version the same -> installed */	pkg_set(package, PKG_OLD_VERSION, "1.1.4");	ATF_CHECK_EQ(pkgutils_pkg_current_state(package),	    PK_INFO_ENUM_INSTALLED);	/* Old version older -> available */	pkg_set(package, PKG_OLD_VERSION, "1.0.0");	ATF_CHECK_EQ(pkgutils_pkg_current_state(package),	    PK_INFO_ENUM_AVAILABLE);	pkg_free(package);}
开发者ID:CaptainHayashi,项目名称:pkgng-packagekit,代码行数:24,


示例10: symlink_len

/* * Test creating a symlink whose length is "len" bytes, not including * the terminating NUL. */static voidsymlink_len(const atf_tc_t *tc, const char *mp, size_t len){	char *buf;	int r;	USES_SYMLINKS;	RL(rump_sys_chdir(mp));	buf = malloc(len + 1);	ATF_REQUIRE(buf);	memset(buf, 'a', len);	buf[len] = '/0';	r = rump_sys_symlink(buf, "afile");	if (r == -1) {		ATF_REQUIRE_ERRNO(ENAMETOOLONG, r);	} else {		RL(rump_sys_unlink("afile"));	}	free(buf);	RL(rump_sys_chdir("/"));}
开发者ID:2asoft,项目名称:freebsd,代码行数:28,


示例11: ATF_TC_BODY

ATF_TC_BODY(inet_addr_err, tc){	static const char *addrs[] = {		". . . .", "1.2.3.", "0.0.0.256", "255.255.255.256",		"................................................",		"a.b.c.d", "0x0.0x1.0x2.0x3", "-1.-1.-1.-1", "", " "};	struct in_addr ia;	const char *ian;	in_addr_t addr;	size_t i;	for (i = 0; i < __arraycount(addrs); i++) {		(void)fprintf(stderr, "checking %s/n", addrs[i]);;		addr = inet_addr(addrs[i]);		ia.s_addr = addr;		ian = inet_ntoa(ia);		ATF_REQUIRE(ian != NULL);		ATF_CHECK(strcmp(ian, addrs[i]) != 0);	}}
开发者ID:2trill2spill,项目名称:freebsd,代码行数:24,


示例12: ATF_TC_BODY

ATF_TC_BODY(mmap_loan, tc){	char buf[BUFSIZE];	char *vp, *vp2;	int fd;	fd = open(path, O_RDWR | O_CREAT, 0600);	ATF_REQUIRE(fd >= 0);	(void)memset(buf, 'x', sizeof(buf));	(void)write(fd, buf, sizeof(buf));	vp = mmap(NULL, BUFSIZE, PROT_READ | PROT_WRITE,	    MAP_FILE | MAP_PRIVATE, fd, 0);	ATF_REQUIRE(vp != MAP_FAILED);	vp2 = vp;	testloan(vp, vp2, 'A', 0);	testloan(vp, vp2, 'B', 1);	ATF_REQUIRE(munmap(vp, BUFSIZE) == 0);	vp = mmap(NULL, BUFSIZE, PROT_READ | PROT_WRITE,	    MAP_FILE | MAP_SHARED, fd, 0);	vp2 = mmap(NULL, BUFSIZE, PROT_READ | PROT_WRITE,	    MAP_FILE | MAP_SHARED, fd, 0);	ATF_REQUIRE(vp != MAP_FAILED);	ATF_REQUIRE(vp2 != MAP_FAILED);	testloan(vp, vp2, 'E', 1);	ATF_REQUIRE(munmap(vp, BUFSIZE) == 0);	ATF_REQUIRE(munmap(vp2, BUFSIZE) == 0);}
开发者ID:jaredmcneill,项目名称:freebsd,代码行数:38,


示例13: ATF_TC_BODY

ATF_TC_BODY(error_new, tc){    atf_error_t err;    int data;    err = atf_error_new("test_error", NULL, 0, NULL);    ATF_REQUIRE(atf_error_is(err, "test_error"));    ATF_REQUIRE(!atf_error_is(err, "unknown_error"));    ATF_REQUIRE(atf_error_data(err) == NULL);    atf_error_free(err);    data = 5;    err = atf_error_new("test_data_error", &data, sizeof(data), NULL);    ATF_REQUIRE(atf_error_is(err, "test_data_error"));    ATF_REQUIRE(!atf_error_is(err, "unknown_error"));    ATF_REQUIRE(atf_error_data(err) != NULL);    ATF_REQUIRE_EQ(*((const int *)atf_error_data(err)), 5);    atf_error_free(err);}
开发者ID:Stichting-MINIX-Research-Foundation,项目名称:minix,代码行数:19,


示例14: ATF_TC_BODY

ATF_TC_BODY(fdopen_seek, tc){	FILE *f;	int fd;	/*	 * Verify that the file position associated	 * with the stream corresponds with the offset	 * set earlier for the file descriptor.	 */	fd = open(path, O_RDWR | O_CREAT);	ATF_REQUIRE(fd >= 0);	ATF_REQUIRE(write(fd, "garbage", 7) == 7);	ATF_REQUIRE(lseek(fd, 3, SEEK_SET) == 3);	f = fdopen(fd, "r+");	ATF_REQUIRE(f != NULL);	ATF_REQUIRE(ftell(f) == 3);	ATF_REQUIRE(fclose(f) == 0);	ATF_REQUIRE(unlink(path) == 0);}
开发者ID:Hooman3,项目名称:minix,代码行数:23,


示例15: ATF_TC_BODY

ATF_TC_BODY(strtod_hex, tc){	const char *str;	char *end;	volatile double d;	str = "-0x0";	d = strtod(str, &end);	/* -0.0 */	ATF_REQUIRE(end == str + 4);	ATF_REQUIRE(signbit(d) != 0);	ATF_REQUIRE(fabs(d) < SMALL_NUM);	str = "-0x";	d = strtod(str, &end);	/* -0.0 */	ATF_REQUIRE(end == str + 2);	ATF_REQUIRE(signbit(d) != 0);	ATF_REQUIRE(fabs(d) < SMALL_NUM);}
开发者ID:Stichting-MINIX-Research-Foundation,项目名称:minix,代码行数:20,


示例16: ATF_TC_BODY

ATF_TC_BODY(t_parser_test2, tc){	saslc_t *ctx;	saslc_sess_t *sess;	const char *val;	ATF_REQUIRE(ctx = saslc_alloc());	ATF_CHECK_EQ(saslc_init(ctx, "test2", NULL), 0);	ATF_REQUIRE((sess = saslc_sess_init(ctx, "ANONYMOUS", NULL)));	ATF_REQUIRE(val = saslc_sess_getprop(sess, "TEST"));	ATF_CHECK_STREQ(val, "one");	ATF_REQUIRE(val = saslc_sess_getprop(sess, "TEST2"));	ATF_CHECK_STREQ(val, "one two");	ATF_REQUIRE(val = saslc_sess_getprop(sess, "TEST3"));	ATF_CHECK_STREQ(val, "one two three");	ATF_REQUIRE(val = saslc_sess_getprop(sess, "ID"));	ATF_CHECK_STREQ(val, "6669");	saslc_sess_end(sess);	ATF_REQUIRE_EQ(saslc_end(ctx), 0);}
开发者ID:Henauxg,项目名称:minix,代码行数:20,


示例17: ATF_TC_BODY

ATF_TC_BODY(closefrom_basic, tc){	int fd, cur1, cur2;	(void)closefrom(STDERR_FILENO + 1);	fd = open(path, O_RDONLY | O_CREAT, 0400);	ATF_REQUIRE(fd >= 0);	cur1 = fcntl(0, F_MAXFD);	ATF_REQUIRE(cur1 == STDERR_FILENO + 1);	ATF_REQUIRE(closefrom(cur1) == 0);	cur2 = fcntl(0, F_MAXFD);	ATF_REQUIRE(cur1 - 1 == cur2);	ATF_REQUIRE(close(fd) == -1);	ATF_REQUIRE(unlink(path) == 0);}
开发者ID:2asoft,项目名称:freebsd,代码行数:20,


示例18: ATF_TC_BODY

ATF_TC_BODY(stat_chflags, tc){	struct stat sa, sb;	int fd;	(void)memset(&sa, 0, sizeof(struct stat));	(void)memset(&sb, 0, sizeof(struct stat));	fd = open(path, O_RDONLY | O_CREAT);	ATF_REQUIRE(fd != -1);	ATF_REQUIRE(stat(path, &sa) == 0);	ATF_REQUIRE(chflags(path, UF_NODUMP) == 0);	ATF_REQUIRE(stat(path, &sb) == 0);	if (sa.st_flags == sb.st_flags)		atf_tc_fail("stat(2) did not detect chflags(2)");	ATF_REQUIRE(close(fd) == 0);	ATF_REQUIRE(unlink(path) == 0);}
开发者ID:Lxg1582,项目名称:freebsd,代码行数:21,


示例19: ATF_TC_BODY

ATF_TC_BODY(link_err, tc){	char buf[MAXPATHLEN + 1];	int fd;	(void)memset(buf, 'x', sizeof(buf));	pathl = getpath();	fd = open(path, O_RDWR | O_CREAT, 0600);	ATF_REQUIRE(fd >= 0);	ATF_REQUIRE(pathl != NULL);	errno = 0;	ATF_REQUIRE(link(path, pathl) == 0);	ATF_REQUIRE_ERRNO(EEXIST, link(path, pathl) == -1);	errno = 0;	ATF_REQUIRE_ERRNO(ENAMETOOLONG, link(buf, "xxx") == -1);	errno = 0;	ATF_REQUIRE_ERRNO(ENOENT, link(path, "/d/c/b/a") == -1);	errno = 0;	ATF_REQUIRE_ERRNO(ENOENT, link("/a/b/c/d", path) == -1);	errno = 0;	ATF_REQUIRE_ERRNO(ENOENT, link("/a/b/c/d", "/d/c/b/a") == -1);	errno = 0;	ATF_REQUIRE_ERRNO(EFAULT, link(path, (const char *)-1) == -1);	errno = 0;	ATF_REQUIRE_ERRNO(EFAULT, link((const char *)-1, "xxx") == -1);	ATF_REQUIRE(close(fd) == 0);	ATF_REQUIRE(unlink(path) == 0);	ATF_REQUIRE(unlink(pathl) == 0);}
开发者ID:Stichting-MINIX-Research-Foundation,项目名称:minix,代码行数:39,


示例20: clone_group

static voidclone_group(struct group *dest, struct group const *src){	ATF_REQUIRE(dest != NULL);	ATF_REQUIRE(src != NULL);	char **cp;	int members_num;	memset(dest, 0, sizeof(struct group));	if (src->gr_name != NULL) {		dest->gr_name = strdup(src->gr_name);		ATF_REQUIRE(dest->gr_name != NULL);	}	if (src->gr_passwd != NULL) {		dest->gr_passwd = strdup(src->gr_passwd);		ATF_REQUIRE(dest->gr_passwd != NULL);	}	dest->gr_gid = src->gr_gid;	if (src->gr_mem != NULL) {		members_num = 0;		for (cp = src->gr_mem; *cp; ++cp)			++members_num;		dest->gr_mem = calloc(1, (members_num + 1) * sizeof(char *));		ATF_REQUIRE(dest->gr_mem != NULL);		for (cp = src->gr_mem; *cp; ++cp) {			dest->gr_mem[cp - src->gr_mem] = strdup(*cp);			ATF_REQUIRE(dest->gr_mem[cp - src->gr_mem] != NULL);		}	}}
开发者ID:2asoft,项目名称:freebsd,代码行数:36,


示例21: ATF_TC_BODY

ATF_TC_BODY(check_sdp_get_int, tc){	uint8_t data[] = {		0x10, 0x00,		// int8		0x00		0x10, 0x7f,		// int8		0x7f		0x10, 0x80,		// int8		0x80		0x11, 0x01, 0x02,	// int16	0x0102		0x11, 0x7f, 0xff,	// int16	0x7fff		0x11, 0x80, 0x00,	// int16	0x8000		0x00,			// nil		0x12, 0x01, 0x02, 0x03,	// int32	0x01020304		0x04,		0x12, 0x7f, 0xff, 0xff,	// int32	0x7fffffff		0xff,		0x12, 0x80, 0x00, 0x00,	// int32	0x80000000		0x00,		0x13, 0x01, 0x02, 0x03,	// int64	0x0102030405060708		0x04, 0x05, 0x06, 0x07,		0x08,		0x13, 0x7f, 0xff, 0xff,	// int64	0x7fffffffffffffff		0xff, 0xff, 0xff, 0xff,		0xff,		0x13, 0x80, 0x00, 0x00,	// int64	0x8000000000000000		0x00, 0x00, 0x00, 0x00,		0x00,		0x14, 0x00, 0x00, 0x00,	// int128	0x00000000000000000000000000000000		0x00, 0x00, 0x00, 0x00,		0x00, 0x00, 0x00, 0x00,		0x00, 0x00, 0x00, 0x00,		0x00,		0x14, 0x00, 0x00, 0x00,	// int128	0x00000000000000007fffffffffffffff		0x00, 0x00, 0x00, 0x00,	//			(INT64_MAX)		0x00, 0x7f, 0xff, 0xff,		0xff, 0xff, 0xff, 0xff,		0xff,		0x14, 0x00, 0x00, 0x00,	// int128	0x00000000000000008000000000000000		0x00, 0x00, 0x00, 0x00,	//			(INT64_MAX + 1)		0x00, 0x80, 0x00, 0x00,		0x00, 0x00, 0x00, 0x00,		0x00,		0x14, 0xff, 0xff, 0xff,	// int128	0xffffffffffffffff8000000000000000		0xff, 0xff, 0xff, 0xff,	//			(INT64_MIN)		0xff, 0x80, 0x00, 0x00,		0x00, 0x00, 0x00, 0x00,		0x00,		0x14, 0xff, 0xff, 0xff,	// int128	0xffffffffffffffff7fffffffffffffff		0xff, 0xff, 0xff, 0xff,	//			(INT64_MIN - 1)		0xff, 0x7f, 0xff, 0xff,		0xff, 0xff, 0xff, 0xff,		0xff,	};	sdp_data_t test = { data, data + sizeof(data) };	sdp_data_t nil;	intmax_t value;	/*	 * sdp_get_int expects any INT type, advancing test if successful	 */	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, 0);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, INT8_MAX);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, INT8_MIN);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, 0x0102);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, INT16_MAX);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, INT16_MIN);	ATF_REQUIRE_EQ(sdp_get_int(&test, &value), false);	/* not int */	ATF_REQUIRE(sdp_get_data(&test, &nil));			/* (skip) */	ATF_CHECK_EQ(sdp_data_type(&nil), SDP_DATA_NIL);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, 0x01020304);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, INT32_MAX);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, INT32_MIN);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, 0x0102030405060708);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, INT64_MAX);	ATF_REQUIRE(sdp_get_int(&test, &value));	ATF_CHECK_EQ(value, INT64_MIN);	/*	 * expected failure is that we cannot decode INT128 values larger than INT64//.........这里部分代码省略.........
开发者ID:2asoft,项目名称:freebsd,代码行数:101,


示例22: ATF_TC_BODY

ATF_TC_BODY(csync, tc) {	struct {		const char *data;		isc_boolean_t ok;	} text_data[] = {		{ "", ISC_FALSE },		{ "0", ISC_FALSE },		{ "0 0", ISC_TRUE },		{ "0 0 A", ISC_TRUE },		{ "0 0 NS", ISC_TRUE },		{ "0 0 AAAA", ISC_TRUE },		{ "0 0 A AAAA", ISC_TRUE },		{ "0 0 A NS AAAA", ISC_TRUE },		{ "0 0 A NS AAAA BOGUS", ISC_FALSE },		{ NULL, ISC_FALSE },	};	struct {		unsigned char data[64];		size_t len;		isc_boolean_t ok;	} wire_data[] = {		/* short */		{ { 0x00 }, 0,  ISC_FALSE },		/* short */		{ { 0x00 }, 1, ISC_FALSE },		/* short */		{ { 0x00, 0x00 }, 2, ISC_FALSE },		/* short */		{ { 0x00, 0x00, 0x00 }, 3, ISC_FALSE },		/* short */		{ { 0x00, 0x00, 0x00, 0x00 }, 4, ISC_FALSE },		/* short */		{ { 0x00, 0x00, 0x00, 0x00, 0x00 }, 5, ISC_FALSE },		/* serial + flags only  */		{ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 6, ISC_TRUE },		/* bad type map */		{ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 7, ISC_FALSE },		/* bad type map */		{ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },		    8, ISC_FALSE },		/* good type map */		{ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02 },		    9, ISC_TRUE }	};	unsigned char buf1[1024];	unsigned char buf2[1024];	isc_buffer_t source, target1, target2;	isc_result_t result;	size_t i;	dns_rdataclass_t rdclass = dns_rdataclass_in;	dns_rdatatype_t type = dns_rdatatype_csync;	isc_lex_t *lex = NULL;	dns_rdatacallbacks_t callbacks;	dns_rdata_csync_t csync;	dns_decompress_t dctx;	UNUSED(tc);	result = dns_test_begin(NULL, ISC_FALSE);	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);	result = isc_lex_create(mctx, 64, &lex);	ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);	dns_rdatacallbacks_init(&callbacks);	callbacks.error = error_callback;	callbacks.warn = warn_callback;	for (i = 0; text_data[i].data != NULL; i++) {		size_t length = strlen(text_data[i].data);		isc_buffer_constinit(&source, text_data[i].data, length);		isc_buffer_add(&source, length);		result = isc_lex_openbuffer(lex, &source);		ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);		isc_buffer_init(&target1, buf1, sizeof(buf1));		result = dns_rdata_fromtext(NULL, rdclass, type, lex,					    dns_rootname, 0, NULL, &target1,					    &callbacks);		if (text_data[i].ok)			ATF_CHECK_EQ(result, ISC_R_SUCCESS);		else			ATF_CHECK(result != ISC_R_SUCCESS);	}	isc_lex_destroy(&lex);	for (i = 0; i < sizeof(wire_data)/sizeof(wire_data[0]); i++) {		dns_rdata_t rdata = DNS_RDATA_INIT;		isc_buffer_init(&source, wire_data[i].data, wire_data[i].len);		isc_buffer_add(&source, wire_data[i].len);		isc_buffer_setactive(&source, wire_data[i].len);		isc_buffer_init(&target1, buf1, sizeof(buf1));		dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_ANY);		result = dns_rdata_fromwire(&rdata, rdclass, type, &source,					    &dctx, 0, &target1);		dns_decompress_invalidate(&dctx);		if (wire_data[i].ok)			ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);//.........这里部分代码省略.........
开发者ID:gokzy,项目名称:netbsd-src,代码行数:101,



注:本文中的ATF_REQUIRE函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ATF_REQUIRE_EQ函数代码示例
C++ ATF_CHECK_EQ函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。