Skip to content

Commit

Permalink
Move registration of midi receiver tick handler to `midi_receiver_ini…
Browse files Browse the repository at this point in the history
…t()`
  • Loading branch information
rhargreaves committed Mar 30, 2024
1 parent bec6748 commit 147afbf
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 25 deletions.
1 change: 0 additions & 1 deletion src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

static void registerSchedulerHandlers()
{
scheduler_addTickHandler(*midi_receiver_read_if_comm_ready);
scheduler_addFrameHandler(*midi_psg_tick);
scheduler_addFrameHandler(*ui_update);
scheduler_addFrameHandler(*everdrive_led_tick);
Expand Down
1 change: 1 addition & 0 deletions src/midi_receiver.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ static void readSysEx(void);

void midi_receiver_init(void)
{
scheduler_addTickHandler(*midi_receiver_read_if_comm_ready);
}

void midi_receiver_read_if_comm_ready(void)
Expand Down
34 changes: 18 additions & 16 deletions tests/unit/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,30 +28,32 @@
#define scheduler_test(test) cmocka_unit_test_setup(test, test_scheduler_setup)
#define applemidi_test(test) cmocka_unit_test_setup(test, test_applemidi_setup)
#define buffer_test(test) cmocka_unit_test_setup(test, test_buffer_setup)
#define midi_receiver_test(test) \
cmocka_unit_test_setup(test, test_midi_receiver_setup)

int main(void)
{
const struct CMUnitTest tests[] = {
cmocka_unit_test(
midi_receiver_test(
test_midi_receiver_read_passes_note_on_to_midi_processor),
cmocka_unit_test(
midi_receiver_test(
test_midi_receiver_read_passes_note_off_to_midi_processor),
cmocka_unit_test(test_midi_receiver_does_nothing_for_control_change),
cmocka_unit_test(
midi_receiver_test(test_midi_receiver_does_nothing_for_control_change),
midi_receiver_test(
test_midi_receiver_sets_unknown_event_for_unknown_status),
cmocka_unit_test(
midi_receiver_test(
test_midi_receiver_sets_unknown_event_for_unknown_system_message),
cmocka_unit_test(test_midi_receiver_sets_CC),
cmocka_unit_test(test_midi_receiver_sets_pitch_bend),
cmocka_unit_test(test_midi_receiver_does_nothing_on_midi_clock),
cmocka_unit_test(test_midi_receiver_does_nothing_on_midi_start_midi),
cmocka_unit_test(test_midi_receiver_swallows_midi_stop),
cmocka_unit_test(test_midi_receiver_swallows_midi_continue),
cmocka_unit_test(test_midi_receiver_does_nothing_on_midi_position),
cmocka_unit_test(test_midi_receiver_sets_midi_program),
cmocka_unit_test(test_midi_receiver_sends_sysex_to_midi_layer),
cmocka_unit_test(test_midi_receiver_handles_sysex_limits),
cmocka_unit_test(test_midi_receiver_sends_midi_reset),
midi_receiver_test(test_midi_receiver_sets_CC),
midi_receiver_test(test_midi_receiver_sets_pitch_bend),
midi_receiver_test(test_midi_receiver_does_nothing_on_midi_clock),
midi_receiver_test(test_midi_receiver_does_nothing_on_midi_start_midi),
midi_receiver_test(test_midi_receiver_swallows_midi_stop),
midi_receiver_test(test_midi_receiver_swallows_midi_continue),
midi_receiver_test(test_midi_receiver_does_nothing_on_midi_position),
midi_receiver_test(test_midi_receiver_sets_midi_program),
midi_receiver_test(test_midi_receiver_sends_sysex_to_midi_layer),
midi_receiver_test(test_midi_receiver_handles_sysex_limits),
midi_receiver_test(test_midi_receiver_sends_midi_reset),

midi_test(test_midi_triggers_synth_note_on),
midi_test(test_midi_triggers_synth_note_on_with_velocity),
Expand Down
25 changes: 17 additions & 8 deletions tests/unit/test_midi_receiver.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,23 @@

void midi_receiver_read(void);

static void init(void)
{
expect_function_call(__wrap_scheduler_addTickHandler);
midi_receiver_init();
}

static int test_midi_receiver_setup(UNUSED void** state)
{
init();
return 0;
}

static void test_midi_receiver_initialises(UNUSED void** state)
{
init();
}

static void test_midi_receiver_read_passes_note_on_to_midi_processor(
UNUSED void** state)
{
Expand Down Expand Up @@ -128,8 +145,6 @@ static void test_midi_receiver_sets_pitch_bend(UNUSED void** state)

static void test_midi_receiver_does_nothing_on_midi_clock(UNUSED void** state)
{
midi_receiver_init();

u8 status = STATUS_CLOCK;
will_return(__wrap_comm_read, status);

Expand All @@ -139,8 +154,6 @@ static void test_midi_receiver_does_nothing_on_midi_clock(UNUSED void** state)
static void test_midi_receiver_does_nothing_on_midi_start_midi(
UNUSED void** state)
{
midi_receiver_init();

u8 status = STATUS_START;
will_return(__wrap_comm_read, status);

Expand All @@ -149,8 +162,6 @@ static void test_midi_receiver_does_nothing_on_midi_start_midi(

static void test_midi_receiver_swallows_midi_stop(UNUSED void** state)
{
midi_receiver_init();

u8 status = STATUS_STOP;
will_return(__wrap_comm_read, status);

Expand All @@ -159,8 +170,6 @@ static void test_midi_receiver_swallows_midi_stop(UNUSED void** state)

static void test_midi_receiver_swallows_midi_continue(UNUSED void** state)
{
midi_receiver_init();

u8 status = STATUS_CONTINUE;
will_return(__wrap_comm_read, status);

Expand Down

0 comments on commit 147afbf

Please sign in to comment.