fix front end issues

This commit is contained in:
Rongsong Shen 2026-05-01 21:22:45 +08:00
parent 177cf45af5
commit d7afd72e5b
18 changed files with 345 additions and 61 deletions

View file

@ -269,6 +269,8 @@ void* xce_notify_data_ptr(xce_notify_data_t* d)
return (void*)d->data.pdone_job;
case NotifyData_data_schedJobRusages:
return d->data.sched_job_rusages;
case NotifyData_data_updateJob:
return d->data.update_job;
default:
break;
}

View file

@ -17,6 +17,21 @@
#include "xlist.h"
#include "xvec.h"
/* ── resreq subsystem lifecycle ───────────────────────────────────────────── */
void resreq_init(int optimize_level)
{
sel_optimize_set(optimize_level);
sel_node_table_init();
}
void resreq_fini(void)
{
sel_node_table_fini();
}
/* ── type helpers ─────────────────────────────────────────────────────────── */
res_type_t valtype_to_res_type(int v)
{
switch (v) {

View file

@ -80,6 +80,34 @@ test_select_parse_valid_expr(void)
sel_optimize_test_reset();
}
static void
test_select_parse_valid_any(void)
{
/* parse_resreq_primary with a well-formed select expression must
* succeed (rc >= 0) and produce a non-NULL root node. */
char * errmsg = NULL;
xce_primary_resreq_t resreq;
/* resmgr fixture is created for teardown symmetry; Phase 2 threads it
* into parse_resreq_primary — for Phase 1 we use the 3-arg signature. */
var resmgr = make_test_resmgr();
sel_optimize_set(0);
int rc = parse_resreq_primary(&resreq, "type==any", resmgr, &errmsg);
/* Phase 4: expect success */
TEST_ASSERT_TRUE(rc >= 0);
TEST_ASSERT_NOT_NULL(resreq.select);
TEST_ASSERT_NOT_NULL(resreq.select->root);
kill_primary_resreq(&resreq);
FREEUP(errmsg);
free_test_resmgr(resmgr);
sel_optimize_test_reset();
}
static void
test_select_parse_unknown_resource(void)
{
@ -2311,6 +2339,7 @@ test_select(void)
RUN_TEST(test_optimize_reset_restores_unset);
RUN_TEST(test_select_parse_valid_expr);
RUN_TEST(test_select_parse_valid_any);
RUN_TEST(test_select_parse_unknown_resource);
RUN_TEST(test_select_parse_type_mismatch);