summaryrefslogtreecommitdiffstats
path: root/testit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'testit.cpp')
-rw-r--r--testit.cpp120
1 files changed, 120 insertions, 0 deletions
diff --git a/testit.cpp b/testit.cpp
new file mode 100644
index 0000000..a0cd2c1
--- /dev/null
+++ b/testit.cpp
@@ -0,0 +1,120 @@
+
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+
+
+unsigned char g_sensortype [][2] = {
+ {0xC3, 0x01},
+ {0x07, 0x02},
+ {0x0F, 0x05},
+ {0x0c, 0x1F},
+ {0xFF ,0xff}
+};
+
+uint8_t find_sensor(uint8_t sensor_number) {
+
+ int i=0;
+ uint8_t rc;
+
+ while (g_sensortype[i][0] != 0xff) {
+ if (g_sensortype[i][1] == sensor_number) {
+ break;
+ } else {
+ i++;
+ }
+ }
+
+ rc = g_sensortype[i][0];
+
+ if (rc == 0xFF) {
+ rc = 0;
+ }
+ return rc;
+}
+
+char g_results_method[64];
+char g_results_value[64];
+
+
+int set_sensor_dbus_state_s(unsigned char number, const char *member, const char *value) {
+ printf("Attempting to log 0x%02x via %s with a value of %s\n",
+ number, member, value);
+
+ strcpy(g_results_method, member);
+ strcpy(g_results_value, value);
+
+ return 0;
+}
+
+int set_sensor_dbus_state_y(unsigned char number, char const* member, uint8_t value) {
+
+ char val[2];
+
+
+ printf("Attempting to log Variant Sensor 0x%02x via %s with a value of 0x%02x\n",
+ number, member, value);
+
+
+ snprintf(val, 2, "%d", value);
+
+ strcpy(g_results_method, member);
+ strcpy(g_results_value, val);
+
+ return 0;
+}
+
+
+extern int updateSensorRecordFromSSRAESC(const void *record);
+
+
+
+// DIMM Present
+uint8_t testrec_sensor1[] = {0x1F, 0xa9, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+// DIMM Not present
+uint8_t testrec_sensor2[] = {0x1F, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00};
+
+// DIMM Not present
+uint8_t testrec_procfailed[] = {0x02, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00};
+
+// Virtual Sensor 5, setting a Value of 0h
+uint8_t testrec_bootprogress[] = {0x05, 0xa9, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00};
+
+// Virtual Sensor setting a boot count
+uint8_t testrec_bootcount[] = {0x01, 0x09, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+
+// Invalid sensor number
+uint8_t testrec_invalidnumber[]= {0x35, 0xa9, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00};
+
+
+int check_results(int rc, const char *method, const char *value) {
+ if (strcmp(g_results_method, method)) {
+ printf("ERROR: Method Failed, expect %s found %s\n", method, g_results_method);
+ return -1;
+ }
+ if (strcmp(g_results_value, value)) {
+ printf("ERROR: Value failed, expected %s found %s\n", value, g_results_value);
+ return -2;
+ }
+
+ return 0;
+}
+
+void testprep(void) {
+ memset(g_results_method, 0, sizeof(g_results_method));
+ memset(g_results_value, 0, sizeof(g_results_value));
+}
+
+
+int main() {
+
+ testprep(); check_results(updateSensorRecordFromSSRAESC(testrec_bootprogress), "setValue", "FW Progress, Docking station attachment");
+ testprep(); check_results(updateSensorRecordFromSSRAESC(testrec_sensor1), "setPresent", "True");
+ testprep(); check_results(updateSensorRecordFromSSRAESC(testrec_sensor2), "setPresent", "False");
+ testprep(); check_results(updateSensorRecordFromSSRAESC(testrec_procfailed), "setFault", "False");
+ testprep(); check_results(updateSensorRecordFromSSRAESC(testrec_bootcount), "setValue", "3");
+ testprep(); check_results(updateSensorRecordFromSSRAESC(testrec_invalidnumber), "", "");
+
+ return 0;
+} \ No newline at end of file
OpenPOWER on IntegriCloud