| … | … | @@ -409,8 +409,9 @@ void MonoBasicSaveUTest::test_table() |
| 409 | 409 | size_t num_fetched = table2->get_size(); |
| 410 | 410 | printf("test_table: Done loading table; fetched %lu, expected %lu\n", |
| 411 | 411 | num_fetched, num_stored); |
| 412 | // One extra, for the (PredicateNode "*-TruthValueKey-*") | |
| 413 | TSM_ASSERT("Wrong number of atoms fetched", num_fetched == num_stored+1); | |
| 412 | // Two extra, for (PredicateNode "*-TruthValueKey-*") | |
| 413 | // and (PredicateNode "*-IsKeyFlag-*") | |
| 414 | TSM_ASSERT("Wrong number of atoms fetched", num_fetched == num_stored+2); | |
| 414 | 415 | |
| 415 | 416 | idx = 0; |
| 416 | 417 | check_table(idx++, table2, "aaa "); |
| … | … | @@ -448,6 +448,7 @@ void DeleteUTest::test_remove(void) |
| 448 | 448 | /* Push all atoms out to storage */ |
| 449 | 449 | store->store_atomspace(); |
| 450 | 450 | |
| 451 | // *-IsKeyFlag-* is not added until after store_atomspace | |
| 451 | 452 | printf("Initial Atomspace size=%lu expect=%d\n", _as->get_size(), 7*idx+1); |
| 452 | 453 | TSM_ASSERT("Initial unexpected atomspace size", |
| 453 | 454 | ((unsigned)(7*idx+1)) == _as->get_size()); |
| … | … | @@ -460,6 +461,7 @@ void DeleteUTest::test_remove(void) |
| 460 | 461 | for (i=0; i<idx; i++) |
| 461 | 462 | extract_links(i, _as); |
| 462 | 463 | |
| 464 | // *-IsKeyFlag-* is not added until after fetch | |
| 463 | 465 | printf("Atomspace size=%lu expect=%d\n", _as->get_size(), 4*idx+1); |
| 464 | 466 | TSM_ASSERT("Post-extract unexpected atomspace size", ((unsigned)(4*idx+1)) == _as->get_size()); |
| 465 | 467 | |
| … | … | @@ -473,9 +475,10 @@ void DeleteUTest::test_remove(void) |
| 473 | 475 | for (i=0; i<idx; i++) |
| 474 | 476 | delete_links(i, store); |
| 475 | 477 | |
| 476 | printf("Post-remove size=%lu expect=%d\n", _as->get_size(), 4*idx+2); | |
| 478 | // +2 for *-TruthValueKey-* and *-IsKeyFlag-* | |
| 479 | printf("Post-remove size=%lu expect=%d\n", _as->get_size(), 4*idx+3); | |
| 477 | 480 | TSM_ASSERT("Post-remove unexpected atomspace size", |
| 478 | ((unsigned)(4*idx+2)) == _as->get_size()); | |
| 481 | ((unsigned)(4*idx+3)) == _as->get_size()); | |
| 479 | 482 | |
| 480 | 483 | /* Verify that the atoms are really gone from storage. */ |
| 481 | 484 | for (i=0; i<idx; i++) { |
| … | … | @@ -483,9 +486,10 @@ void DeleteUTest::test_remove(void) |
| 483 | 486 | check_remove(i, _as, "verify-gone"); |
| 484 | 487 | } |
| 485 | 488 | |
| 486 | printf("Post-referesh size=%lu expect=%d\n", _as->get_size(), 7*idx+2); | |
| 489 | // +2 for *-TruthValueKey-* and *-IsKeyFlag-* | |
| 490 | printf("Post-referesh size=%lu expect=%d\n", _as->get_size(), 7*idx+3); | |
| 487 | 491 | TSM_ASSERT("Post-refetch unexpected atomspace size", |
| 488 | ((unsigned)(7*idx+2)) == _as->get_size()); | |
| 492 | ((unsigned)(7*idx+3)) == _as->get_size()); | |
| 489 | 493 | |
| 490 | 494 | /* Kill data for good */ |
| 491 | 495 | _as->clear(); |
| … | … | @@ -540,6 +544,7 @@ void DeleteUTest::test_recurse(void) |
| 540 | 544 | for (i=0; i<zap; i++) |
| 541 | 545 | extract_nodes(i, _as); |
| 542 | 546 | |
| 547 | // *-IsKeyFlag-* is not added until after fetch | |
| 543 | 548 | size_t expsz = 7*(idx-zap) + 3*zap + 1; |
| 544 | 549 | printf("Atomspace size=%lu expect=%lu\n", |
| 545 | 550 | _as->get_size(), expsz); |
| … | … | @@ -555,9 +560,10 @@ void DeleteUTest::test_recurse(void) |
| 555 | 560 | for (i=0; i<zap; i++) |
| 556 | 561 | delete_nodes(i, store); |
| 557 | 562 | |
| 563 | // +1 for *-TruthValueKey-*, +1 for *-IsKeyFlag-* (added after fetch) | |
| 558 | 564 | printf("Post-remove size=%lu expect=%lu\n", |
| 559 | _as->get_size(), expsz+1); | |
| 560 | TSM_ASSERT("Unexpected atomspace size", expsz+1 == _as->get_size()); | |
| 565 | _as->get_size(), expsz+2); | |
| 566 | TSM_ASSERT("Unexpected atomspace size", expsz+2 == _as->get_size()); | |
| 561 | 567 | |
| 562 | 568 | store->barrier(); |
| 563 | 569 | |
| … | … | @@ -566,10 +572,11 @@ void DeleteUTest::test_recurse(void) |
| 566 | 572 | fetch_space(i, store); |
| 567 | 573 | } |
| 568 | 574 | |
| 575 | // +2 for *-TruthValueKey-* and *-IsKeyFlag-* | |
| 569 | 576 | printf("Post-refetch size=%lu expect=%d\n", |
| 570 | _as->get_size(), 7*idx+2); | |
| 577 | _as->get_size(), 7*idx+3); | |
| 571 | 578 | TSM_ASSERT("Unexpected atomspace size", |
| 572 | ((unsigned) 7*idx+2) == _as->get_size()); | |
| 579 | ((unsigned) 7*idx+3) == _as->get_size()); | |
| 573 | 580 | |
| 574 | 581 | /* Check that the removed atoms really got zapped. */ |
| 575 | 582 | for (i=0; i<zap; i++) { |
| … | … | @@ -348,11 +348,12 @@ void ValueSaveUTest::test_load_by_type() |
| 348 | 348 | store->fetch_all_atoms_of_type(CONCEPT_NODE); |
| 349 | 349 | store->barrier(); |
| 350 | 350 | |
| 351 | // Six: 4 ConceptNodes, the PredicateNode "*-TruthValueKey-*" | |
| 352 | // and PredicateNode "some pred key" -- the two preds show up | |
| 353 | // when the attached values are fetched. | |
| 351 | // Eight: 4 ConceptNodes, PredicateNode "*-TruthValueKey-*", | |
| 352 | // PredicateNode "*-IsKeyFlag-*", PredicateNode "some pred key", | |
| 353 | // and the MonoStorageNode -- the preds show up when the | |
| 354 | // attached values are fetched. | |
| 354 | 355 | printf ("fetched %lu atoms\n", as->get_size()); |
| 355 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 7); | |
| 356 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 8); | |
| 356 | 357 | |
| 357 | 358 | Handle gkey = as->add_node(PREDICATE_NODE, "some pred key"); |
| 358 | 359 | Handle gaf = as->add_node(CONCEPT_NODE, "float node"); |
| … | … | @@ -512,8 +513,9 @@ void ValueSaveUTest::test_link_by_type() |
| 512 | 513 | // only the values on the C-links should be fetched. |
| 513 | 514 | store->fetch_all_atoms_of_type(LIST_LINK); |
| 514 | 515 | store->barrier(); |
| 516 | // +1 for *-IsKeyFlag-* | |
| 515 | 517 | printf ("fetched %lu atoms\n", as->get_size()); |
| 516 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 15); | |
| 518 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 16); | |
| 517 | 519 | |
| 518 | 520 | Handle gbf = as->add_node(CONCEPT_NODE, "b float node"); |
| 519 | 521 | Handle gbt = as->add_node(CONCEPT_NODE, "b string node"); |
| … | … | @@ -722,9 +724,10 @@ void ValueSaveUTest::test_link_by_type_quoted() |
| 722 | 724 | store->fetch_all_atoms_of_type(LIST_LINK); |
| 723 | 725 | store->barrier(); |
| 724 | 726 | |
| 725 | // We created 9 new atoms above, so expect 15 from before plus 9 | |
| 726 | printf ("fetched %lu atoms, expecting 24\n", as->get_size()); | |
| 727 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 24); | |
| 727 | // We created 9 new atoms above, so expect 16 from before plus 9 | |
| 728 | // +1 for *-IsKeyFlag-* | |
| 729 | printf ("fetched %lu atoms, expecting 25\n", as->get_size()); | |
| 730 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 25); | |
| 728 | 731 | |
| 729 | 732 | Handle gbf = as->add_node(CONCEPT_NODE, "b float node"); |
| 730 | 733 | Handle gbt = as->add_node(CONCEPT_NODE, "b string node"); |
| … | … | @@ -936,8 +939,9 @@ void ValueSaveUTest::test_incoming() |
| 936 | 939 | store->fetch_incoming_set(gal, false); |
| 937 | 940 | store->fetch_incoming_set(gav, false); |
| 938 | 941 | store->barrier(); |
| 942 | // +1 for *-IsKeyFlag-* | |
| 939 | 943 | printf ("fetched %lu atoms\n", as->get_size()); |
| 940 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 15); | |
| 944 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 16); | |
| 941 | 945 | |
| 942 | 946 | Handle gbf = as->add_node(CONCEPT_NODE, "b float node"); |
| 943 | 947 | Handle gbt = as->add_node(CONCEPT_NODE, "b string node"); |
| … | … | @@ -426,8 +426,9 @@ void BasicSaveUTest::test_table() |
| 426 | 426 | size_t num_fetched = table2->get_size(); |
| 427 | 427 | printf("test_table: Done loading table; fetched %lu, expected %lu\n", |
| 428 | 428 | num_fetched, num_stored); |
| 429 | // One extra, for the (PredicateNode "*-TruthValueKey-*") | |
| 430 | TSM_ASSERT("Wrong number of atoms fetched", num_fetched == num_stored+1); | |
| 429 | // Two extra, for (PredicateNode "*-TruthValueKey-*") | |
| 430 | // and (PredicateNode "*-IsKeyFlag-*") | |
| 431 | TSM_ASSERT("Wrong number of atoms fetched", num_fetched == num_stored+2); | |
| 431 | 432 | |
| 432 | 433 | idx = 0; |
| 433 | 434 | check_table(idx++, table2, "aaa "); |
| … | … | @@ -472,9 +472,10 @@ void DeleteUTest::test_remove(void) |
| 472 | 472 | for (i=0; i<idx; i++) |
| 473 | 473 | delete_links(i, store); |
| 474 | 474 | |
| 475 | printf("Post-remove size=%lu expect=%d\n", _as->get_size(), 4*idx+2); | |
| 475 | // +2 for *-TruthValueKey-* and *-IsKeyFlag-* | |
| 476 | printf("Post-remove size=%lu expect=%d\n", _as->get_size(), 4*idx+3); | |
| 476 | 477 | TSM_ASSERT("Post-remove unexpected atomspace size", |
| 477 | ((unsigned)(4*idx+2)) == _as->get_size()); | |
| 478 | ((unsigned)(4*idx+3)) == _as->get_size()); | |
| 478 | 479 | |
| 479 | 480 | /* Verify that the atoms are really gone from storage. */ |
| 480 | 481 | for (i=0; i<idx; i++) { |
| … | … | @@ -482,9 +483,10 @@ void DeleteUTest::test_remove(void) |
| 482 | 483 | check_remove(i, _as, "verify-gone"); |
| 483 | 484 | } |
| 484 | 485 | |
| 485 | printf("Post-referesh size=%lu expect=%d\n", _as->get_size(), 7*idx+2); | |
| 486 | // +2 for *-TruthValueKey-* and *-IsKeyFlag-* | |
| 487 | printf("Post-referesh size=%lu expect=%d\n", _as->get_size(), 7*idx+3); | |
| 486 | 488 | TSM_ASSERT("Post-refetch unexpected atomspace size", |
| 487 | ((unsigned)(7*idx+2)) == _as->get_size()); | |
| 489 | ((unsigned)(7*idx+3)) == _as->get_size()); | |
| 488 | 490 | |
| 489 | 491 | /* Kill data for good */ |
| 490 | 492 | _as->clear(); |
| … | … | @@ -554,9 +556,10 @@ void DeleteUTest::test_recurse(void) |
| 554 | 556 | for (i=0; i<zap; i++) |
| 555 | 557 | delete_nodes(i, store); |
| 556 | 558 | |
| 559 | // +1 for *-IsKeyFlag-* | |
| 557 | 560 | printf("Post-remove size=%lu expect=%lu\n", |
| 558 | _as->get_size(), expsz+1); | |
| 559 | TSM_ASSERT("Unexpected atomspace size", expsz+1 == _as->get_size()); | |
| 561 | _as->get_size(), expsz+2); | |
| 562 | TSM_ASSERT("Unexpected atomspace size", expsz+2 == _as->get_size()); | |
| 560 | 563 | |
| 561 | 564 | store->barrier(); |
| 562 | 565 | |
| … | … | @@ -565,10 +568,11 @@ void DeleteUTest::test_recurse(void) |
| 565 | 568 | fetch_space(i, store); |
| 566 | 569 | } |
| 567 | 570 | |
| 571 | // +2 for *-TruthValueKey-* and *-IsKeyFlag-* | |
| 568 | 572 | printf("Post-refetch size=%lu expect=%d\n", |
| 569 | _as->get_size(), 7*idx+2); | |
| 573 | _as->get_size(), 7*idx+3); | |
| 570 | 574 | TSM_ASSERT("Unexpected atomspace size", |
| 571 | ((unsigned) 7*idx+2) == _as->get_size()); | |
| 575 | ((unsigned) 7*idx+3) == _as->get_size()); | |
| 572 | 576 | |
| 573 | 577 | /* Check that the removed atoms really got zapped. */ |
| 574 | 578 | for (i=0; i<zap; i++) { |
| … | … | @@ -173,6 +173,7 @@ void MultiDeleteUTest::test_add_delete(void) |
| 173 | 173 | // Verify the local AtomSpace size. Should be 34: |
| 174 | 174 | // The StorageNode itself, the (Concept "aaaa") and |
| 175 | 175 | // 16 Concept and Lists from thread-id modulo 16 |
| 176 | // Note: *-IsKeyFlag-* is NOT added by store_atom, only by load operations | |
| 176 | 177 | TS_ASSERT_EQUALS(as->get_size(), 2 + 2*(n_threads+6)); |
| 177 | 178 | |
| 178 | 179 | // Verify the DB contents: pull everything from the DB, |
| … | … | @@ -195,13 +196,13 @@ void MultiDeleteUTest::test_add_delete(void) |
| 195 | 196 | store->load_atomspace(); |
| 196 | 197 | printf("Final AtomSpace size=%lu\n", as->get_size()); |
| 197 | 198 | |
| 198 | // Size should be 19: the 18 from before plus that annoying | |
| 199 | // (Predicate "*-TruthValueKey-*") | |
| 199 | // Size should be 20: the 18 from before plus | |
| 200 | // (Predicate "*-TruthValueKey-*") and (Predicate "*-IsKeyFlag-*") | |
| 200 | 201 | // Well, actually, there is no guarantee that the removes will |
| 201 | 202 | // happen after the stores. Best we can do is check lower and |
| 202 | // upper bounds of 18 and 34: | |
| 203 | size_t min_size = 3 + n_threads + 6; | |
| 204 | size_t max_size = 3 + 2*(n_threads + 6); | |
| 203 | // upper bounds of 20 and 36: | |
| 204 | size_t min_size = 4 + n_threads + 6; | |
| 205 | size_t max_size = 4 + 2*(n_threads + 6); | |
| 205 | 206 | if (as->get_size() < min_size or max_size < as->get_size()) |
| 206 | 207 | printf("Error: Bad size! AtomSpace contents =\n%s\n", |
| 207 | 208 | as->to_string().c_str()); |
| … | … | @@ -348,11 +348,11 @@ void ValueSaveUTest::test_load_by_type() |
| 348 | 348 | store->fetch_all_atoms_of_type(CONCEPT_NODE); |
| 349 | 349 | store->barrier(); |
| 350 | 350 | |
| 351 | // Six: 4 ConceptNodes, the PredicateNode "*-TruthValueKey-*" | |
| 352 | // and PredicateNode "some pred key" -- the two preds show up | |
| 353 | // when the attached values are fetched. | |
| 351 | // Eight: 4 ConceptNodes, the PredicateNode "*-TruthValueKey-*", | |
| 352 | // PredicateNode "*-IsKeyFlag-*", PredicateNode "some pred key", | |
| 353 | // and the RocksStorageNode. | |
| 354 | 354 | printf ("fetched %lu atoms\n", as->get_size()); |
| 355 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 7); | |
| 355 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 8); | |
| 356 | 356 | |
| 357 | 357 | Handle gkey = as->add_node(PREDICATE_NODE, "some pred key"); |
| 358 | 358 | Handle gaf = as->add_node(CONCEPT_NODE, "float node"); |
| … | … | @@ -510,10 +510,11 @@ void ValueSaveUTest::test_link_by_type() |
| 510 | 510 | // The B-nodes are added after the fetch. In either case, |
| 511 | 511 | // there should not be any values fetched for either A or B; |
| 512 | 512 | // only the values on the C-links should be fetched. |
| 513 | // +1 for *-IsKeyFlag-* | |
| 513 | 514 | store->fetch_all_atoms_of_type(LIST_LINK); |
| 514 | 515 | store->barrier(); |
| 515 | 516 | printf ("fetched %lu atoms\n", as->get_size()); |
| 516 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 15); | |
| 517 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 16); | |
| 517 | 518 | |
| 518 | 519 | Handle gbf = as->add_node(CONCEPT_NODE, "b float node"); |
| 519 | 520 | Handle gbt = as->add_node(CONCEPT_NODE, "b string node"); |
| … | … | @@ -722,9 +723,10 @@ void ValueSaveUTest::test_link_by_type_quoted() |
| 722 | 723 | store->fetch_all_atoms_of_type(LIST_LINK); |
| 723 | 724 | store->barrier(); |
| 724 | 725 | |
| 725 | // We created 9 new atoms above, so expect 15 from before plus 9 | |
| 726 | printf ("fetched %lu atoms, expecting 24\n", as->get_size()); | |
| 727 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 24); | |
| 726 | // We created 9 new atoms above, so expect 16 from before plus 9 | |
| 727 | // +1 for *-IsKeyFlag-* | |
| 728 | printf ("fetched %lu atoms, expecting 25\n", as->get_size()); | |
| 729 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 25); | |
| 728 | 730 | |
| 729 | 731 | Handle gbf = as->add_node(CONCEPT_NODE, "b float node"); |
| 730 | 732 | Handle gbt = as->add_node(CONCEPT_NODE, "b string node"); |
| … | … | @@ -936,8 +938,9 @@ void ValueSaveUTest::test_incoming() |
| 936 | 938 | store->fetch_incoming_set(gal, false); |
| 937 | 939 | store->fetch_incoming_set(gav, false); |
| 938 | 940 | store->barrier(); |
| 941 | // +1 for *-IsKeyFlag-* | |
| 939 | 942 | printf ("fetched %lu atoms\n", as->get_size()); |
| 940 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 15); | |
| 943 | TSM_ASSERT("Wrong number of Atoms fetched!", as->get_size() == 16); | |
| 941 | 944 | |
| 942 | 945 | Handle gbf = as->add_node(CONCEPT_NODE, "b float node"); |
| 943 | 946 | Handle gbt = as->add_node(CONCEPT_NODE, "b string node"); |
| … | … | @@ -59,8 +59,8 @@ |
| 59 | 59 | (count-all (cog-value (ConceptNode "foo") (Predicate "real life"))) |
| 60 | 60 | (count-all (cog-value (ConceptNode "foo") (Predicate "repressed mem")))) |
| 61 | 61 | |
| 62 | ; Verify contents | |
| 63 | (test-assert "base-count" (equal? 12 (count-all))) | |
| 62 | ; Verify contents (+1 for *-IsKeyFlag-*) | |
| 63 | (test-assert "base-count" (equal? 13 (count-all))) | |
| 64 | 64 | (test-assert "space1-count" (equal? 8 |
| 65 | 65 | (count-all (cog-value (ConceptNode "foo") (Predicate "real life"))))) |
| 66 | 66 | (test-assert "space2-count" (equal? 6 |
| … | … | @@ -102,8 +102,9 @@ |
| 102 | 102 | ; Plus two more: (Predicate "*-store-atomspace-*") |
| 103 | 103 | ; and (Predicate "*-load-atomspace-*") and *-open-* and *-close-* |
| 104 | 104 | ; and (Predicate "kayfabe") from test-utils. |
| 105 | ; +1 for (Predicate "*-IsKeyFlag-*") | |
| 105 | 106 | |
| 106 | (test-assert "base-count" (equal? 17 (count-all))) | |
| 107 | (test-assert "base-count" (equal? 18 (count-all))) | |
| 107 | 108 | (test-assert "space1-count" (equal? 0 |
| 108 | 109 | (count-all (cog-value (ConceptNode "foo") (Predicate "real life"))))) |
| 109 | 110 | (test-assert "space2-count" (equal? 0 |
| … | … | @@ -114,7 +115,8 @@ |
| 114 | 115 | (load-atomspace (AtomSpace "crushing defeat")) |
| 115 | 116 | (cog-close gsn) |
| 116 | 117 | |
| 117 | (test-assert "base-count" (equal? 18 (count-all))) | |
| 118 | ; +1 for (Predicate "*-IsKeyFlag-*") | |
| 119 | (test-assert "base-count" (equal? 19 (count-all))) | |
| 118 | 120 | (test-assert "space1-count" (equal? 8 |
| 119 | 121 | (count-all (cog-value (ConceptNode "foo") (Predicate "real life"))))) |
| 120 | 122 | (test-assert "space2-count" (equal? 6 |