X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=check%2Fexams.cpp;h=b175515503a2ac9d33eae90ff0bb8c25d075a77d;hp=5aa327aeaedaa37b1540ee9d03451bd13d565cf7;hb=781107fc309db9eadc2e0540d35d9813da0afd4d;hpb=27d8eeed808afec4b319cea040d62365b65d49bc diff --git a/check/exams.cpp b/check/exams.cpp index 5aa327ae..b1755155 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-2004 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,108 +21,50 @@ */ #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_inifcns(); - } 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 exams.out against exams.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(inifcns_nstdsums) + EXAM(differentiation) + EXAM(polygcd) + EXAM(normalization) + EXAM(pseries) + EXAM(matrices) + EXAM(lsolve) + EXAM(indexed) + EXAM(color) + EXAM(clifford) + EXAM(archive) + EXAM(structure) + EXAM(hashmap) + 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; }