annotate libtests/0037/prog1.c @ 489:4cb6c611f812 api-inversion

Begin removing uses of audiodb_query() audiodb_query() is actually an unsupportable interface. It requires access to the filesystem, does not (and cannot) actually support whole swathes of functionality, is only implementable using code that is no longer part of the core of audioDB (reporter.h), is in the way of fixing memory leaks in the SOAP server, and is horrible to use to boot. So, begin converting the libtests uses of audiodb_query() to audio_query_spec(). In the process, go through the test code and remove useless comments, pointless variables, and commented-out bits of shell scripts.
author mas01cr
date Sat, 10 Jan 2009 15:32:53 +0000
parents e072aa1611f5
children 1327b5cf4cb5
rev   line source
mas01cr@487 1 #include "audioDB_API.h"
mas01cr@487 2 #include "test_utils_lib.h"
mas01cr@413 3
mas01cr@413 4 int main(int argc, char *argv[]) {
mas01cr@413 5 adb_t *adb;
mas01cr@413 6 adb_insert_t *batch = 0;
mas01cr@413 7 adb_status_t status;
mas01cr@413 8 adb_query_t query = {0};
mas01cr@413 9 adb_queryresult_t result;
mas01cr@413 10
mas01cr@489 11 clean_remove_db(TESTDB);
mas01cr@489 12 adb = audiodb_create(TESTDB, 0, 0, 0);
mas01cr@413 13 if(!adb) {
mas01cr@413 14 return 1;
mas01cr@413 15 }
mas01cr@413 16
mas01cr@413 17 maketestfile("testfeature01", (int[1]) {2}, (double[4]) {0,1,1,0}, 4);
mas01cr@413 18 maketestfile("testfeature10", (int[1]) {2}, (double[4]) {1,0,0,1}, 4);
mas01cr@413 19
mas01cr@413 20 batch = (adb_insert_t *) calloc(6, sizeof(adb_insert_t));
mas01cr@413 21 if(!batch) {
mas01cr@413 22 return 1;
mas01cr@413 23 }
mas01cr@413 24 batch[0].features = "testfeature01";
mas01cr@413 25 batch[1].features = "testfeature01";
mas01cr@413 26 batch[2].features = "testfeature10";
mas01cr@413 27 batch[3].features = "testfeature10";
mas01cr@413 28 batch[4].features = "testfeature01";
mas01cr@413 29 batch[5].features = "testfeature10";
mas01cr@413 30
mas01cr@413 31 audiodb_batchinsert(adb, batch, 6);
mas01cr@470 32 free(batch);
mas01cr@413 33
mas01cr@413 34 if(audiodb_status(adb, &status)) {
mas01cr@413 35 return 1;
mas01cr@413 36 }
mas01cr@413 37 if(status.numFiles != 2) {
mas01cr@413 38 return 1;
mas01cr@413 39 }
mas01cr@413 40
mas01cr@413 41 if(audiodb_l2norm(adb)) {
mas01cr@413 42 return 1;
mas01cr@413 43 }
mas01cr@413 44
mas01cr@470 45 adb_datum_t datum = {1, 2, NULL, (double [2]){0, 0.5}, NULL, NULL};
mas01cr@470 46 adb_query_id_t qid = {0};
mas01cr@470 47 qid.datum = &datum;
mas01cr@470 48 qid.sequence_length = 1;
mas01cr@470 49 adb_query_parameters_t parms =
mas01cr@470 50 {ADB_ACCUMULATION_PER_TRACK, ADB_DISTANCE_EUCLIDEAN_NORMED, 10, 10};
mas01cr@470 51 adb_query_refine_t refine = {0};
mas01cr@470 52 refine.hopsize = 1;
mas01cr@470 53
mas01cr@470 54 /* FIXME: structs / pointers */
mas01cr@470 55 adb_query_spec_t spec;
mas01cr@470 56 spec.qid = qid;
mas01cr@470 57 spec.params = parms;
mas01cr@470 58 spec.refine = refine;
mas01cr@470 59
mas01cr@470 60 adb_query_results_t *results = audiodb_query_spec(adb, &spec);
mas01cr@470 61
mas01cr@489 62 if(!results || results->nresults != 4) return 1;
mas01cr@489 63 result_present_or_fail(results, "testfeature01", 0, 0, 0);
mas01cr@489 64 result_present_or_fail(results, "testfeature01", 2, 0, 1);
mas01cr@489 65 result_present_or_fail(results, "testfeature10", 0, 0, 1);
mas01cr@489 66 result_present_or_fail(results, "testfeature10", 2, 0, 0);
mas01cr@470 67 audiodb_query_free_results(adb, &spec, results);
mas01cr@470 68
mas01cr@470 69 spec.params.npoints = 2;
mas01cr@470 70 results = audiodb_query_spec(adb, &spec);
mas01cr@470 71
mas01cr@489 72 if(!results || results->nresults != 4) return 1;
mas01cr@489 73 result_present_or_fail(results, "testfeature01", 0, 0, 0);
mas01cr@489 74 result_present_or_fail(results, "testfeature01", 2, 0, 1);
mas01cr@489 75 result_present_or_fail(results, "testfeature10", 0, 0, 1);
mas01cr@489 76 result_present_or_fail(results, "testfeature10", 2, 0, 0);
mas01cr@470 77 audiodb_query_free_results(adb, &spec, results);
mas01cr@470 78
mas01cr@470 79 spec.params.npoints = 5;
mas01cr@470 80 results = audiodb_query_spec(adb, &spec);
mas01cr@470 81
mas01cr@489 82 if(!results || results->nresults != 4) return 1;
mas01cr@489 83 result_present_or_fail(results, "testfeature01", 0, 0, 0);
mas01cr@489 84 result_present_or_fail(results, "testfeature01", 2, 0, 1);
mas01cr@489 85 result_present_or_fail(results, "testfeature10", 0, 0, 1);
mas01cr@489 86 result_present_or_fail(results, "testfeature10", 2, 0, 0);
mas01cr@470 87 audiodb_query_free_results(adb, &spec, results);
mas01cr@470 88
mas01cr@470 89 spec.params.npoints = 1;
mas01cr@470 90 results = audiodb_query_spec(adb, &spec);
mas01cr@470 91
mas01cr@489 92 if(!results || results->nresults != 2) return 1;
mas01cr@489 93 result_present_or_fail(results, "testfeature01", 0, 0, 0);
mas01cr@489 94 result_present_or_fail(results, "testfeature10", 0, 0, 1);
mas01cr@470 95
mas01cr@470 96 audiodb_query_free_results(adb, &spec, results);
mas01cr@470 97
mas01cr@470 98 spec.qid.datum->data = (double [2]) {0.5, 0};
mas01cr@470 99 spec.params.npoints = 10;
mas01cr@470 100 results = audiodb_query_spec(adb, &spec);
mas01cr@470 101
mas01cr@489 102 if(!results || results->nresults != 4) return 1;
mas01cr@489 103 result_present_or_fail(results, "testfeature01", 0, 0, 1);
mas01cr@489 104 result_present_or_fail(results, "testfeature01", 2, 0, 0);
mas01cr@489 105 result_present_or_fail(results, "testfeature10", 0, 0, 0);
mas01cr@489 106 result_present_or_fail(results, "testfeature10", 2, 0, 1);
mas01cr@470 107 audiodb_query_free_results(adb, &spec, results);
mas01cr@470 108
mas01cr@470 109 spec.params.npoints = 2;
mas01cr@470 110 results = audiodb_query_spec(adb, &spec);
mas01cr@470 111
mas01cr@489 112 if(!results || results->nresults != 4) return 1;
mas01cr@489 113 result_present_or_fail(results, "testfeature01", 0, 0, 1);
mas01cr@489 114 result_present_or_fail(results, "testfeature01", 2, 0, 0);
mas01cr@489 115 result_present_or_fail(results, "testfeature10", 0, 0, 0);
mas01cr@489 116 result_present_or_fail(results, "testfeature10", 2, 0, 1);
mas01cr@470 117 audiodb_query_free_results(adb, &spec, results);
mas01cr@470 118
mas01cr@470 119 spec.params.npoints = 5;
mas01cr@470 120 results = audiodb_query_spec(adb, &spec);
mas01cr@470 121
mas01cr@489 122 if(!results || results->nresults != 4) return 1;
mas01cr@489 123 result_present_or_fail(results, "testfeature01", 0, 0, 1);
mas01cr@489 124 result_present_or_fail(results, "testfeature01", 2, 0, 0);
mas01cr@489 125 result_present_or_fail(results, "testfeature10", 0, 0, 0);
mas01cr@489 126 result_present_or_fail(results, "testfeature10", 2, 0, 1);
mas01cr@470 127 audiodb_query_free_results(adb, &spec, results);
mas01cr@470 128
mas01cr@470 129 spec.params.npoints = 1;
mas01cr@470 130 results = audiodb_query_spec(adb, &spec);
mas01cr@470 131
mas01cr@489 132 if(!results || results->nresults != 2) return 1;
mas01cr@489 133 result_present_or_fail(results, "testfeature01", 0, 0, 1);
mas01cr@489 134 result_present_or_fail(results, "testfeature10", 0, 0, 0);
mas01cr@470 135 audiodb_query_free_results(adb, &spec, results);
mas01cr@470 136
mas01cr@470 137 audiodb_close(adb);
mas01cr@470 138
mas01cr@413 139 return 104;
mas01cr@413 140 }
mas01cr@413 141