void do_dump(char *filename, int flags) {
    int fd, r;
    printf("Dumping to: %s\n", filename);
    fd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, DUMPMODE);
    if (fd == -1) { perror("open"); exit(1); }
    r = vmadump(fd,flags);
    printf("vmadump(%d,0x%x)=%d\n", fd, flags, r);
    if (r == -1) {
	perror("VMAD_DO_DUMP");
	exit(1);
    }
    close(fd);
    if (r) {
	printf("dump complete - exiting.\n");
	exit(0);
    }

    /* r == 0... Which means that we were dumped and we're getting
     * here because we've been undumped. */
    printf("Whoo!  I've been undumped!  Kick ass!\n");
    printf("New pid: %d\n", (int) getpid());

    test_mm();
    exit(0);
}
Ejemplo n.º 2
0
int
main(void) {
    test_reg();
    test_rm();
    test_mm();
    test_big(0xffffffff);
    test_big(0x1fff);
    test_big(0xff);

    return 0;
}
Ejemplo n.º 3
0
static void do_test()
{
    test_bitmap();
    test_dmfont();
    test_realtime();
    test_mm();
    test_bezier();
    test_ttf();
    test_float();

    test_keyboard();
}
Ejemplo n.º 4
0
int main(int argc, char **args)
{
	if (argc < 3) error("Not enough parameters.");

	char *type = args[1];

	Mesh mesh;
	H3DReader mesh_loader;
	if (!mesh_loader.load(args[2], &mesh)) error("Loading mesh file '%s'\n", args[2]);

	if (strcmp(type, "sln") == 0) {
		// Testing on Exact solution which always gives the same value (values from Solution may differ by epsilon)
		ExactSolution ex_sln(&mesh, exact_solution);
		output.out(&ex_sln, "U");
	}
	else if (strcmp(type, "vec-sln") == 0) {
		// Testing on Exact solution which always gives the same value (values from Solution may differ by epsilon)
		ExactSolution ex_sln(&mesh, exact_vec_solution);
		output.out(&ex_sln, "U");
	}
	else if (strcmp(type, "3sln") == 0) {
		// Testing on Exact solution which always gives the same value (values from Solution may differ by epsilon)
		ExactSolution ex_sln0(&mesh, exact_solution0);
		ExactSolution ex_sln1(&mesh, exact_solution1);
		ExactSolution ex_sln2(&mesh, exact_solution2);
		output.out(&ex_sln0, &ex_sln1, &ex_sln2, "U");
	}
	else if (strcmp(type, "ord") == 0) {

		Ord3 order;
		if (mesh.elements[1]->get_mode() == HERMES_MODE_HEX)
			order = Ord3(2, 3, 4);
		else if (mesh.elements[1]->get_mode() == HERMES_MODE_TET)
			order = Ord3(3);
		else
			error(HERMES_ERR_NOT_IMPLEMENTED);

		H1Space space(&mesh, bc_types, essential_bc_values, order);

#if defined GMSH
		output.out_orders_gmsh(&space, "orders_gmsh");
#elif defined VTK
		output.out_orders_vtk(&space, "orders_vtk");
#endif
	}
	else if (strcmp(type, "bc") == 0) {

#if defined GMSH
		output.out_bc_gmsh(&mesh);
#elif defined VTK
		output.out_bc_vtk(&mesh);
#endif
	}
	else if (strcmp(type, "mat") == 0) {
		StiffMatrix mat;
		test_mat(&mesh, mat);
		output.out(&mat);
	}
	else if (strcmp(type, "mm") == 0) {
		test_mm(&mesh);
	}

	return 0;
}
Ejemplo n.º 5
0
int main(int argc, char **args)
{
	set_verbose(false);

	if (argc < 3) error("Not enough parameters");

	char *type = args[1];

	Mesh mesh;
	Mesh3DReader mesh_loader;
	if (!mesh_loader.load(args[2], &mesh)) error("Loading mesh file '%s'\n", args[2]);

	if (strcmp(type, "sln") == 0) {
		// Testing on Exact solution which always gives the same value (values from Solution may differ by epsilon)
		ExactSolution ex_sln(&mesh, exact_solution);
		output.out(&ex_sln, "U");
	}
	else if (strcmp(type, "vec-sln") == 0) {
		// Testing on Exact solution which always gives the same value (values from Solution may differ by epsilon)
		ExactSolution ex_sln(&mesh, exact_vec_solution);
		output.out(&ex_sln, "U");
	}
	else if (strcmp(type, "3sln") == 0) {
		// Testing on Exact solution which always gives the same value (values from Solution may differ by epsilon)
		ExactSolution ex_sln0(&mesh, exact_solution0);
		ExactSolution ex_sln1(&mesh, exact_solution1);
		ExactSolution ex_sln2(&mesh, exact_solution2);
		output.out(&ex_sln0, &ex_sln1, &ex_sln2, "U");
	}
	else if (strcmp(type, "ord") == 0) {
		H1ShapesetLobattoHex shapeset;

		H1Space space(&mesh, &shapeset);
		space.set_bc_types(bc_types);
		space.set_essential_bc_values(essential_bc_values);

		order3_t order;
		if (mesh.elements[1]->get_mode() == MODE_HEXAHEDRON)
			order = order3_t(2, 3, 4);
		else if (mesh.elements[1]->get_mode() == MODE_TETRAHEDRON)
			order = order3_t(3);
		else
			error(H3D_ERR_NOT_IMPLEMENTED);
		space.set_uniform_order(order);

		output.out_orders(&space, "orders");
	}
	else if (strcmp(type, "bc") == 0) {
		output.out_bc(&mesh);
	}
	else if (strcmp(type, "mat") == 0) {
		StiffMatrix mat;
		test_mat(&mesh, mat);
		output.out(&mat);
	}
	else if (strcmp(type, "mm") == 0) {
		test_mm(&mesh);
	}

	return 0;
}