/*
* Automated Testing Framework (atf)
*
* Copyright (c) 2007 The NetBSD Foundation, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
* CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <fcntl.h>
#include <unistd.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <atf-c.h>
#include "atf-c/detail/test_helpers.h"
/* ---------------------------------------------------------------------
* Auxiliary functions.
* --------------------------------------------------------------------- */
static
void
{
}
static
void
{
int fd;
if (fd == -1)
}
/* ---------------------------------------------------------------------
* Helper tests for "t_cleanup".
* --------------------------------------------------------------------- */
{
"program");
}
{
}
{
}
{
"program");
}
{
atf_tc_fail("On purpose");
}
{
}
{
"program");
}
{
atf_tc_skip("On purpose");
}
{
}
{
"program");
}
{
FILE *f;
if (f == NULL)
atf_tc_fail("Failed to create oldvalue file");
fprintf(f, "1234");
fclose(f);
}
{
FILE *f;
if (f != NULL) {
int i;
else
printf("Old value: %d", i);
fclose(f);
}
}
{
"program");
}
{
char *nofile;
}
{
}
/* ---------------------------------------------------------------------
* Helper tests for "t_config".
* --------------------------------------------------------------------- */
{
"program");
}
{
}
{
"program");
}
{
}
{
"program");
}
{
}
{
"program");
}
{
}
/* ---------------------------------------------------------------------
* Helper tests for "t_expect".
* --------------------------------------------------------------------- */
{
}
{
atf_tc_fail("Some reason");
}
{
atf_tc_fail_nonfatal("Some reason");
}
{
atf_tc_fail("The failure");
}
{
atf_tc_expect_fail("Fail first");
atf_tc_fail_nonfatal("abc");
atf_tc_expect_fail("And fail again");
atf_tc_fail_nonfatal("def");
}
{
atf_tc_expect_fail("Fail first");
atf_tc_fail_nonfatal("abc");
atf_tc_expect_fail("Will not fail");
atf_tc_expect_fail("And fail again");
atf_tc_fail_nonfatal("def");
}
{
}
{
exit(123);
}
{
}
{
}
{
}
{
}
{
atf_tc_expect_death("Exit case");
exit(123);
}
{
atf_tc_expect_death("Signal case");
}
{
atf_tc_expect_death("Call won't die");
}
{
}
{
atf_tc_expect_timeout("Will overrun");
sleep(5);
}
{
}
{
atf_tc_expect_timeout("Will just exit");
}
/* ---------------------------------------------------------------------
* Helper tests for "t_meta_data".
* --------------------------------------------------------------------- */
{
}
{
}
/* ---------------------------------------------------------------------
* Helper tests for "t_srcdir".
* --------------------------------------------------------------------- */
{
"program");
}
{
bool b;
RE(atf_fs_exists(&p, &b));
atf_fs_path_fini(&p);
if (!b)
atf_tc_fail("Cannot find datafile");
}
/* ---------------------------------------------------------------------
* Helper tests for "t_result".
* --------------------------------------------------------------------- */
{
printf("msg\n");
}
{
printf("msg\n");
atf_tc_fail("Failure reason");
}
{
printf("msg\n");
atf_tc_skip("Skipped reason");
}
{
"program");
}
{
atf_tc_fail("First line\nSecond line");
}
{
"program");
}
{
atf_tc_skip("First line\nSecond line");
}
/* ---------------------------------------------------------------------
* Main.
* --------------------------------------------------------------------- */
{
/* Add helper tests for t_cleanup. */
/* Add helper tests for t_config. */
/* Add helper tests for t_expect. */
/* Add helper tests for t_meta_data. */
/* Add helper tests for t_srcdir. */
/* Add helper tests for t_result. */
return atf_no_error();
}