int main(void) { { char path[] = "./test/casper/formelement.input.test.coffee.tested.do"; char dir[sizeof path]; char base[sizeof path]; dirname(dir, base, path); eqStr(dir, "./test/casper"); eqStr(base, "formelement.input.test.coffee.tested.do"); } { const char *filename = "dir/file.tar.gz"; char *iter = (char*)filename; eqStr(iter, "dir/file.tar.gz"); iter = nextExtension(iter); eqStr(iter, ".tar.gz"); iter = nextExtension(iter); eqStr(iter, ".gz"); iter = nextExtension(iter); eqStr(iter, ""); } { const char *s = "/this/is/a/file.gz"; char hex[strlen(s)*2+1]; char unhex[sizeof hex + 1]; hexify(hex, s); eqStr(hex, "-_this-_is-_a-_file.gz"); unhexify(unhex, hex); eqStr(unhex, "/this/is/a/file.gz"); } { char cwd[] = "/root", target[] = "./a/b", dest[4096]; normalizePath(dest, cwd, target); eqStr(dest, "/root/a/b"); } { char cwd[] = "/root/other", target[] = "./a/../b/dir/e", dest[4096]; normalizePath(dest, cwd, target); eqStr(dest, "/root/other/b/dir/e"); } return 0; }
int main(int argc, char **argv) { try { if (argc == 2) { std::string eqStr(argv[1]); Equation eq(eqStr, true); if (eq.size() > 0) { benchmark(eq); } else { throw std::runtime_error("Erreur: Equation vide!"); } } else if (argc > 2 && (argc - 1) % 2 == 0) { std::vector<Equation> eqs; for (int i = 1; i < argc; i++) { std::string eqStr(argv[i]); Equation eq(eqStr); eqs.push_back(eq); } graph(eqs, argc, argv); } else { throw std::runtime_error("Mauvais nombre d'arguments!"); } } catch (std::exception &e) { std::cerr << "Erreur: " << e.what() << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; }