Not your question - but higher_prior_task_woken should be initialised to
pdFALSE before it is passed into whatever give_notification_from_isr()
is calling.
I want to test this handler by invoking it explicitly within test case
which runs inside a task.
My question is is it legal to invoke such a handler not from interrupt
context?
The answer probably depends on the port being used, but in general, yes
this should be fine to call from a task - the scheduler does need to be
running though.