| 762 | } |
| 763 | |
| 764 | static bool ui_adr_equals(const ui_delete_fixture_t *fx, const char *project, |
| 765 | const char *expected) { |
| 766 | char db_path[1024]; |
| 767 | ui_delete_db_path(fx, project, db_path, sizeof(db_path)); |
| 768 | cbm_store_t *store = cbm_store_open_path_query(db_path); |
| 769 | if (!store) |
| 770 | return false; |
| 771 | |
| 772 | cbm_adr_t adr = {0}; |
| 773 | int rc = cbm_store_adr_get(store, project, &adr); |
| 774 | bool equal = rc == CBM_STORE_OK && adr.content && strcmp(adr.content, expected) == 0; |
| 775 | if (rc == CBM_STORE_OK) |
| 776 | cbm_store_adr_free(&adr); |
| 777 | cbm_store_close(store); |
| 778 | return equal; |
| 779 | } |
| 780 | |
| 781 | TEST(ui_server_readiness_proof_is_exact_and_generation_bound) { |
| 782 | static const char challenge[] = |
no test coverage detected