X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=check%2Fexams.cpp;h=429bfc13bde4fcef85d8953c176393971f7caa8c;hb=15c7209ed2f914cd3a40490c0e80e34307b1fead;hp=5aa327aeaedaa37b1540ee9d03451bd13d565cf7;hpb=27d8eeed808afec4b319cea040d62365b65d49bc;p=ginac.git diff --git a/check/exams.cpp b/check/exams.cpp index 5aa327ae..429bfc13 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-2001 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 @@ -27,102 +27,40 @@ 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(differentiation) + EXAM(polygcd) + EXAM(normalization) + EXAM(pseries) + EXAM(matrices) + EXAM(lsolve) + EXAM(indexed) + EXAM(color) + 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; }