[Gnucash-changes] r13300 - gnucash/trunk - A few tests to improve
get_random_query() and fix a couple test bugs.
Derek Atkins
warlord at cvs.gnucash.org
Sun Feb 19 14:29:52 EST 2006
Author: warlord
Date: 2006-02-19 14:29:51 -0500 (Sun, 19 Feb 2006)
New Revision: 13300
Trac: http://svn.gnucash.org/trac/changeset/13300
Modified:
gnucash/trunk/ChangeLog
gnucash/trunk/src/engine/test-core/test-engine-stuff.c
Log:
A few tests to improve get_random_query() and fix a couple test bugs.
- Prefer QUERY_AND and QUERY_OR over NAND, NOR, XOR
- Don't randomly generate a gnc_numeric with a 0 denominator.
Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog 2006-02-19 19:28:28 UTC (rev 13299)
+++ gnucash/trunk/ChangeLog 2006-02-19 19:29:51 UTC (rev 13300)
@@ -33,6 +33,10 @@
* lib/goffice-0.0.4/goffice/cut-and-paste/foo-canvas/foo-canvas-i18n.h:
Use glib's gi18n.h instead of redefining gettext.
+ * src/engine/test/test-engine-stuff.c:
+ - Prefer QUERY_AND and QUERY_OR over NAND, NOR, XOR
+ - Don't randomly generate a gnc_numeric with a 0 denominator.
+
2006-02-18 Derek Atkins <derek at ihtfp.com>
* intl-scm/xgettext.scm: remove the absolute path from filenames
Modified: gnucash/trunk/src/engine/test-core/test-engine-stuff.c
===================================================================
--- gnucash/trunk/src/engine/test-core/test-engine-stuff.c 2006-02-19 19:28:28 UTC (rev 13299)
+++ gnucash/trunk/src/engine/test-core/test-engine-stuff.c 2006-02-19 19:29:51 UTC (rev 13300)
@@ -461,6 +461,8 @@
* of avoiding overflow. */
numer = get_random_gint64()/100000;
if (0 == numer) numer = 1;
+ /* Make sure we have a non-zero denominator */
+ if (0 == deno) deno = 1;
return gnc_numeric_create(numer, deno);
}
@@ -1524,8 +1526,29 @@
static QofQueryOp
get_random_queryop(void)
{
- QofQueryOp op = get_random_int_in_range (1, QOF_QUERY_XOR);
- if (gnc_engine_debug_random) printf ("op = %d, ", op);
+ int op_num = get_random_int_in_range(1,11);
+ QofQueryOp op;
+ /* = get_random_int_in_range (1, QOF_QUERY_XOR); */
+
+ /* Let's make it MUCH more likely to get AND and OR */
+ switch(op_num) {
+ case 1: case 2: case 3: case 4:
+ op = QOF_QUERY_AND;
+ break;
+ case 5: case 6: case 7: case 8:
+ op = QOF_QUERY_OR;
+ break;
+ case 9:
+ op = QOF_QUERY_NAND;
+ break;
+ case 10:
+ op = QOF_QUERY_NOR;
+ break;
+ case 11:
+ op = QOF_QUERY_XOR;
+ break;
+ };
+ if (gnc_engine_debug_random) printf ("op = %d (int was %d), ", op, op_num);
return op;
}
More information about the gnucash-changes
mailing list