firmware  v0.1.2
Chromation Spectrometer Dev-Kit
test_runner.c
1 #include <unity.h>
2 #include <Mock.h>
3 #include "HardwareFake.h" // Fake hardware (registers, pins)
4 #include "StatusCodes.h" // Python-to-Firmware communication status codes
5 
6 #include "test_UsbCmd.h"
7 
8 void EmptySetUp(void){
9 }
10 void (*setUp)(void) = EmptySetUp;
11 void EmptyTearDown(void){
12 }
13 void (*tearDown)(void) = EmptyTearDown;
14 Mock_s *mock;
15 
16 void test_UsbCmd(void)
17 {
18  puts("# UsbCmd tests");
19 
20  puts("## ReadLedState");
21  RUN_TEST(ReadLedState_returns_OFF_if_LED_is_off);
22  RUN_TEST(ReadLedState_returns_GREEN_if_LED_is_on_and_green);
23  RUN_TEST(ReadLedState_returns_RED_if_LED_is_on_and_red);
24 
25  puts("## GetBridgeLED");
26  RUN_TEST(GetBridgeLED_waits_for_byte_led_num);
27  RUN_TEST(GetBridgeLED_reads_byte_led_num);
28  RUN_TEST(GetBridgeLED_writes_two_bytes_to_USB_host);
29  RUN_TEST(GetBridgeLED_writes_OK_and_LED_STATE_if_led_num_is_valid);
30  RUN_TEST(GetBridgeLED_writes_ERROR_and_pads_second_byte_if_led_num_is_invalid);
31 
32  puts("## SetBridgeLED");
33  RUN_TEST(SetBridgeLED_waits_for_byte_led_num);
34  RUN_TEST(SetBridgeLED_reads_byte_led_num);
35  RUN_TEST(SetBridgeLED_waits_for_byte_led_setting);
36  RUN_TEST(SetBridgeLED_reads_byte_led_setting);
37  RUN_TEST(SetBridgeLED_applies_led_setting_and_writes_OK_if_parameters_are_valid);
38  RUN_TEST(SetBridgeLED_writes_ERROR_if_led_num_is_invalid);
39  RUN_TEST(SetBridgeLED_writes_ERROR_if_led_setting_is_invalid);
40 
41  puts("## GetSensorLED");
42  RUN_TEST(GetSensorLED_waits_for_byte_led_num);
43  RUN_TEST(GetSensorLED_reads_byte_led_num);
44  RUN_TEST(GetSensorLED_sends_command_to_sensor);
45  RUN_TEST(GetSensorLED_sends_led_num_to_sensor);
46  RUN_TEST(GetSensorLED_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
47  RUN_TEST(GetSensorLED_waits_for_sensor_to_signal_STATUS_data_ready);
48  RUN_TEST(GetSensorLED_reads_status_from_sensor);
49  RUN_TEST(GetSensorLED_waits_for_sensor_to_signal_LED_SETTING_data_ready);
50  RUN_TEST(GetSensorLED_reads_led_setting_from_sensor);
51  RUN_TEST(GetSensorLED_writes_sensor_status);
52  RUN_TEST(GetSensorLED_writes_sensor_led_setting);
53 
54  puts("## SetSensorLED");
55  RUN_TEST(SetSensorLED_waits_for_byte_led_num);
56  RUN_TEST(SetSensorLED_reads_byte_led_num);
57  RUN_TEST(SetSensorLED_waits_for_byte_led_setting);
58  RUN_TEST(SetSensorLED_reads_byte_led_setting);
59  RUN_TEST(SetSensorLED_sends_command_to_sensor);
60  RUN_TEST(SetSensorLED_sends_led_num_to_sensor);
61  RUN_TEST(SetSensorLED_sends_led_setting_to_sensor);
62  RUN_TEST(SetSensorLED_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
63  RUN_TEST(SetSensorLED_waits_for_sensor_to_signal_STATUS_data_ready);
64  RUN_TEST(SetSensorLED_reads_status_from_sensor);
65  RUN_TEST(SetSensorLED_writes_sensor_status);
66 
67  puts("## GetSensorConfig");
68  RUN_TEST(GetSensorConfig_sends_command_to_sensor);
69  RUN_TEST(GetSensorConfig_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
70  RUN_TEST(GetSensorConfig_waits_for_sensor_to_signal_STATUS_data_ready);
71  RUN_TEST(GetSensorConfig_reads_status_from_sensor);
72  RUN_TEST(GetSensorConfig_proceeds_reading_from_sensor_if_status_is_OK);
73  RUN_TEST(GetSensorConfig_waits_for_sensor_to_signal_BINNING_data_ready);
74  RUN_TEST(GetSensorConfig_reads_binning_from_sensor);
75  RUN_TEST(GetSensorConfig_waits_for_sensor_to_signal_GAIN_data_ready);
76  RUN_TEST(GetSensorConfig_reads_gain_from_sensor);
77  RUN_TEST(GetSensorConfig_waits_for_sensor_to_signal_ROW_BITMAP_data_ready);
78  RUN_TEST(GetSensorConfig_reads_row_bitmap_from_sensor);
79  RUN_TEST(GetSensorConfig_writes_sensor_status);
80  RUN_TEST(GetSensorConfig_writes_sensor_binning);
81  RUN_TEST(GetSensorConfig_writes_sensor_gain);
82  RUN_TEST(GetSensorConfig_writes_sensor_row_bitmap);
83 
84  puts("## SetSensorConfig");
85  RUN_TEST(SetSensorConfig_waits_for_byte_binning);
86  RUN_TEST(SetSensorConfig_reads_byte_binning);
87  RUN_TEST(SetSensorConfig_waits_for_byte_gain);
88  RUN_TEST(SetSensorConfig_reads_byte_gain);
89  RUN_TEST(SetSensorConfig_waits_for_byte_row_bitmap);
90  RUN_TEST(SetSensorConfig_reads_byte_row_bitmap);
91  RUN_TEST(SetSensorConfig_sends_command_to_sensor);
92  RUN_TEST(SetSensorConfig_waits_for_sensor_to_signal_it_recognizes_the_command);
93  RUN_TEST(SetSensorConfig_proceeds_with_sending_config_if_sensor_status_is_OK);
94  RUN_TEST(SetSensorConfig_sends_binning_to_sensor);
95  RUN_TEST(SetSensorConfig_sends_gain_to_sensor);
96  RUN_TEST(SetSensorConfig_sends_row_bitmap_to_sensor);
97  RUN_TEST(SetSensorConfig_waits_for_sensor_to_signal_STATUS_data_ready);
98  RUN_TEST(SetSensorConfig_reads_status_from_sensor);
99  RUN_TEST(SetSensorConfig_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
100  RUN_TEST(SetSensorConfig_writes_sensor_status);
101 
102  puts("## GetExposure");
103  RUN_TEST(GetExposure_sends_command_to_sensor);
104  RUN_TEST(GetExposure_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
105  RUN_TEST(GetExposure_waits_for_sensor_to_signal_STATUS_data_ready);
106  RUN_TEST(GetExposure_reads_status_from_sensor);
107  RUN_TEST(GetExposure_waits_for_sensor_to_signal_EXPOSURE_MSB_data_ready);
108  RUN_TEST(GetExposure_reads_exposure_MSB_from_sensor);
109  RUN_TEST(GetExposure_waits_for_sensor_to_signal_EXPOSURE_LSB_data_ready);
110  RUN_TEST(GetExposure_reads_exposure_LSB_from_sensor);
111  RUN_TEST(GetExposure_writes_sensor_status);
112  RUN_TEST(GetExposure_writes_exposure_MSB);
113  RUN_TEST(GetExposure_writes_exposure_LSB);
114 
115  puts("## SetExposure");
116  RUN_TEST(SetExposure_waits_for_byte_exposure_MSB);
117  RUN_TEST(SetExposure_reads_byte_exposure_MSB);
118  RUN_TEST(SetExposure_waits_for_byte_exposure_LSB);
119  RUN_TEST(SetExposure_reads_byte_exposure_LSB);
120  RUN_TEST(SetExposure_sends_command_to_sensor);
121  RUN_TEST(SetExposure_sends_exposure_MSB_to_sensor);
122  RUN_TEST(SetExposure_sends_exposure_LSB_to_sensor);
123  RUN_TEST(SetExposure_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
124  RUN_TEST(SetExposure_waits_for_sensor_to_signal_STATUS_data_ready);
125  RUN_TEST(SetExposure_reads_status_from_sensor);
126  RUN_TEST(SetExposure_writes_sensor_status);
127 
128  puts("## CaptureFrame");
129  RUN_TEST(CaptureFrame_sends_command_to_sensor);
130  RUN_TEST(CaptureFrame_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
131  RUN_TEST(CaptureFrame_waits_for_sensor_to_signal_STATUS_data_ready);
132  RUN_TEST(CaptureFrame_reads_status_from_sensor);
133  RUN_TEST(CaptureFrame_waits_for_sensor_to_signal_NUM_PIXELS_MSB_data_ready);
134  RUN_TEST(CaptureFrame_reads_num_pixels_MSB_from_sensor);
135  RUN_TEST(CaptureFrame_waits_for_sensor_to_signal_NUM_PIXELS_LSB_data_ready);
136  RUN_TEST(CaptureFrame_reads_num_pixels_LSB_from_sensor);
137  RUN_TEST(CaptureFrame_writes_sensor_status);
138  RUN_TEST(CaptureFrame_writes_num_pixels_MSB);
139  RUN_TEST(CaptureFrame_writes_num_pixels_LSB);
140  RUN_TEST(CaptureFrame_returns_if_status_is_not_OK);
141  RUN_TEST(CaptureFrame_waits_for_the_next_byte_of_frame_data);
142  RUN_TEST(CaptureFrame_writes_the_next_byte_of_frame_data);
143  RUN_TEST(CaptureFrame_loops_wait_for_byte_then_write_byte_for_a_total_nbytes_of_2x_num_pixels);
144 
145  puts("## AutoExposure");
146  puts("FAIL: Implement Test");
147 
148  puts("## GetAutoExposeConfig");
149  puts("FAIL: Implement Test");
150 
151  puts("## SetAutoExposeConfig");
152  puts("FAIL: Implement Test");
153 }
154 
155 int main(void)
156 {
157  UNITY_BEGIN();
158  test_UsbCmd();
159  return UNITY_END();
160 }
See StatusCode.h for context.
Definition: Mock.c:5