| 68 | struct counters ISRRestart2::counters_b; |
| 69 | |
| 70 | TEST_F(ISRRestart2, RestartISR2) { |
| 71 | // fundamental ISR2 test |
| 72 | EXPECT_EQ(count, 0); |
| 73 | EXPECT_EQ(count2, 0); |
| 74 | digitalWrite(TRIGGER_PIN, HIGH); |
| 75 | delay(20); |
| 76 | EXPECT_EQ(count, 1); |
| 77 | EXPECT_EQ(count2, 1); |
| 78 | digitalWrite(TRIGGER_PIN, LOW); |
| 79 | delay(20); |
| 80 | EXPECT_EQ(count, 1); |
| 81 | EXPECT_EQ(count2, 1); |
| 82 | |
| 83 | // stop the ISR |
| 84 | EXPECT_EQ(wiringPiISRStop(LISTENER_PIN), 0); |
| 85 | delay(100); |
| 86 | digitalWrite(TRIGGER_PIN, HIGH); |
| 87 | delay(20); |
| 88 | EXPECT_EQ(count, 1); |
| 89 | EXPECT_EQ(count2, 1); |
| 90 | EXPECT_EQ(count3, 0); |
| 91 | digitalWrite(TRIGGER_PIN, LOW); |
| 92 | |
| 93 | // start another ISR2 on the same pin |
| 94 | EXPECT_EQ(wiringPiISR2(LISTENER_PIN, INT_EDGE_FALLING, |
| 95 | ISRRestart2::TriggerCountDown, 0, &counters_b), |
| 96 | 0); |
| 97 | delay(100); |
| 98 | digitalWrite(TRIGGER_PIN, HIGH); |
| 99 | delay(20); |
| 100 | EXPECT_EQ(count, 1); |
| 101 | EXPECT_EQ(count2, 1); |
| 102 | EXPECT_EQ(count3, 0); |
| 103 | |
| 104 | digitalWrite(TRIGGER_PIN, LOW); |
| 105 | delay(20); |
| 106 | EXPECT_EQ(count, 2); |
| 107 | EXPECT_EQ(count2, 1); |
| 108 | EXPECT_EQ(count3, -1); |
| 109 | } |
nothing calls this directly
no test coverage detected