X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=check%2Fexams.cpp;h=5deed8f2324646f4df535a4fa3b71297c4704ba4;hp=31b5cf7f145d36b9dfc849c4ecf9cb6ed3ba5ab4;hb=1d07d8ac9fb47c51aa19a84df6c8c5fee5dd5105;hpb=f4ea690a3f118bf364190f0ef3c3f6d2ccdf6206 diff --git a/check/exams.cpp b/check/exams.cpp index 31b5cf7f..5deed8f2 100644 --- a/check/exams.cpp +++ b/check/exams.cpp @@ -3,7 +3,7 @@ * Main program that calls all individual exams. */ /* - * GiNaC Copyright (C) 1999-2000 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2003 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,101 +21,47 @@ */ #include -#include #include "exams.h" int main() { - unsigned result = 0; - - try { - result += exam_paranoia(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_numeric(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_powerlaws(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_differentiation(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_polygcd(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_normalization(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_pseries(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_matrices(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_lsolve(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_noncommut(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - try { - result += exam_misc(); - } catch (const exception &e) { - cout << "Error: caught exception " << e.what() << endl; - ++result; - } - - if (result) { - cout << "Error: something went wrong. "; - if (result == 1) { - cout << "(one failure)" << endl; - } else { - cout << "(" << result << " individual failures)" << endl; - } - cout << "please check exam.out against exam.ref for more details." - << endl << "happy debugging!" << endl; - } - - return result; + unsigned result = 0; + +#define EXAM(which) \ +try { \ + result += exam_ ## which (); \ +} catch (const exception &e) { \ + cout << "Error: caught exception " << e.what() << endl; \ + ++result; \ +} + + EXAM(paranoia) + EXAM(numeric) + EXAM(powerlaws) + EXAM(inifcns) + EXAM(differentiation) + EXAM(polygcd) + EXAM(normalization) + EXAM(pseries) + EXAM(matrices) + EXAM(lsolve) + EXAM(indexed) + EXAM(color) + EXAM(clifford) + EXAM(archive) + EXAM(misc) + + if (result) { + cout << "Error: something went wrong. "; + if (result == 1) { + cout << "(one failure)" << endl; + } else { + cout << "(" << result << " individual failures)" << endl; + } + cout << "please check exams.out against exams.ref for more details." + << endl << "happy debugging!" << endl; + } + + return result; }