diff --git a/maestro/cdo_sel_parse.c b/maestro/cdo_sel_parse.c index c6f1aa9215996e53817aa83f3e60c16cfca2cb2b..0da940bc68084091f49ffa008636bf65528b092a 100644 --- a/maestro/cdo_sel_parse.c +++ b/maestro/cdo_sel_parse.c @@ -3232,7 +3232,7 @@ void mstro_csq_destroy(mstro_csq_context_t *ctx) { #define MIN(x,y) ((x)<(y) ? (x) : (y)) -#line 370 "cdo_sel_parse.peg" +#line 388 "cdo_sel_parse.peg" void mstro_csq_val__describe(const struct mstro_csq_val *v, size_t indent) { diff --git a/maestro/cdo_sel_parse.peg b/maestro/cdo_sel_parse.peg index 8360d84e731726e0f8172c28d1cacf0d1b4d08b1..c4eb43917d8067317fa6d6d5e7527c3749977eb1 100644 --- a/maestro/cdo_sel_parse.peg +++ b/maestro/cdo_sel_parse.peg @@ -384,7 +384,7 @@ EOF <- !. #define MIN(x,y) ((x)<(y) ? (x) : (y)) -#line 370 "cdo_sel_parse.peg" +#line 388 "cdo_sel_parse.peg" void mstro_csq_val__describe(const struct mstro_csq_val *v, size_t indent) { diff --git a/maestro/pool.c b/maestro/pool.c index b9a655ad62484fc1ed2f15cee4db595fde3a648e..f4fe5da2e479d4912923179d7a6ee293f236499b 100644 --- a/maestro/pool.c +++ b/maestro/pool.c @@ -1315,7 +1315,6 @@ mstro__csq_validate(struct mstro_csq_val *csq, return MSTRO_FAIL; case MSTRO_CSQ_OR: { - assert(csq->next==NULL); struct mstro_csq_val *tmp; mstro_status s=MSTRO_OK; LL_FOREACH(csq->or.clauses, tmp) { @@ -1329,7 +1328,6 @@ mstro__csq_validate(struct mstro_csq_val *csq, } case MSTRO_CSQ_AND: { - assert(csq->next==NULL); struct mstro_csq_val *tmp; mstro_status s=MSTRO_OK; LL_FOREACH(csq->and.terms, tmp) { diff --git a/tests/ecmwf_consumer.c b/tests/ecmwf_consumer.c index 136360682527478b5fc42597a07fdb02ec773bf2..11ff617d6c7098260017e80f12a31d909217cce4 100644 --- a/tests/ecmwf_consumer.c +++ b/tests/ecmwf_consumer.c @@ -10,7 +10,7 @@ int main(int argc, char *argv[]) mstro_subscription subscription = NULL; assert(MSTRO_OK == mstro_init(getenv("MSTRO_WORKFLOW_NAME"), getenv("MSTRO_COMPONENT_NAME"), 0)); - assert(MSTRO_OK == mstro_cdo_selector_create(NULL, NULL, "(.maestro.ecmwf.step = 2)", &selector)); + assert(MSTRO_OK == mstro_cdo_selector_create(NULL, NULL, "(and (.maestro.ecmwf.step = 2) (.maestro.ecmwf.number = 1))", &selector)); assert(MSTRO_OK == mstro_subscribe(selector, MSTRO_POOL_EVENT_OFFER, false, &subscription)); assert(MSTRO_OK == mstro_cdo_selector_dispose(selector)); diff --git a/tests/ecmwf_producer.c b/tests/ecmwf_producer.c index baf85afdb3e75f31c5490c834dea7fba984c628f..23d499b78b6a4d28c8b8f65633b751f3da685cbf 100644 --- a/tests/ecmwf_producer.c +++ b/tests/ecmwf_producer.c @@ -10,7 +10,9 @@ int main(int argc, char *argv[]) mstro_cdo cdo = NULL; assert(MSTRO_OK == mstro_cdo_declare("my-cdo-1", MSTRO_ATTR_DEFAULT, &cdo)); int64_t step = 2; + int64_t number = 1; assert(MSTRO_OK == mstro_cdo_attribute_set(cdo, ".maestro.ecmwf.step", (void **)&step, true)); + assert(MSTRO_OK == mstro_cdo_attribute_set(cdo, ".maestro.ecmwf.number", (void **)&number, true)); assert(MSTRO_OK == mstro_cdo_seal(cdo)); assert(MSTRO_OK == mstro_cdo_offer(cdo)); sleep(5); // sleep until we fix acknowledge issue