Skip to content

Commit

Permalink
Pass tests
Browse files Browse the repository at this point in the history
  • Loading branch information
brentru committed Feb 19, 2025
1 parent 8e7385c commit cec28b1
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 24 deletions.
2 changes: 1 addition & 1 deletion src/provisioning/sdcard/ws_sdcard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -900,7 +900,7 @@ const char *SensorTypeToSIUnit(wippersnapper_sensor_SensorType sensorType) {
case wippersnapper_sensor_SensorType_SENSOR_TYPE_BYTES:
return "bytes";
case wippersnapper_sensor_SensorType_SENSOR_TYPE_BOOLEAN:
return "none";
return "boolean";
default:
return "UNKNOWN";
}
Expand Down
Binary file modified tests/bin/offline/firmware.elf
Binary file not shown.
6 changes: 3 additions & 3 deletions tests/scenarios/offline/test-log-analogin.scenario.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@ author: Brent Rubell for Adafruit Industries

steps:
- wait-serial: '[SD] Waiting for incoming JSON string...'
- write-serial: '{"exportVersion": "1.0.0", "exportedBy": "wokwi", "exportedAt": "2024-10-28T18:58:23.976Z", "exportedFromDevice": {"board": "metroesp32s3", "firmwareVersion": "1.0.0-beta.93", "referenceVoltage": 2.6, "totalGPIOPins": 11, "totalAnalogPins": 6}, "components": [{"componentAPI": "analogio", "name": "Analog Pin", "pinName": "D14", "type": "analog_pin", "mode": "ANALOG", "direction": "INPUT", "sampleMode": "TIMER", "analogReadMode": "PIN_VALUE", "period": 5, "isPin": true}], "checksum": 149}'
- write-serial: '{"exportVersion": "1.0.0", "exportedBy": "wokwi", "exportedAt": "2024-10-28T18:58:23.976Z", "exportedFromDevice": {"board": "metroesp32s3", "firmwareVersion": "1.0.0-beta.93", "referenceVoltage": 2.6, "totalGPIOPins": 11, "totalAnalogPins": 6}, "components": [{"componentAPI": "analogio", "name": "Analog Pin", "pinName": "D14", "type": "analog_pin", "mode": "ANALOG", "direction": "INPUT", "sampleMode": "TIMER", "analogReadMode": "raw", "period": 5, "isPin": true}], "checksum": 149}'
- write-serial: '\n'
- wait-serial: '[analogio] Added new pin:'
- wait-serial: 'Pin Name: 14'
- wait-serial: 'Period: 5000.00'
- wait-serial: 'Read Mode: 18'
- delay: 5s
- wait-serial: '{"timestamp":0,"pin":"A14","value":0,"si_unit":"RAW"}'
- wait-serial: '{"timestamp":0,"pin":"A14","value":0,"si_unit":"none"}'
- set-control:
part-id: pot1
control: position
value: 0.5
- delay: 3s
- wait-serial: '{"timestamp":0,"pin":"A14","value":16384,"si_unit":"RAW"}'
- wait-serial: '{"timestamp":0,"pin":"A14","value":16384,"si_unit":"none"}'
4 changes: 2 additions & 2 deletions tests/scenarios/offline/test-log-digital-in.scenario.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ steps:
- wait-serial: 'Period: 5000'
- wait-serial: 'Sample Mode: 1'
- wait-serial: 'Direction: 2'
- wait-serial: '{"timestamp":0,"pin":"D4","value":true,"si_unit":"BOOLEAN"}'
- wait-serial: '{"timestamp":0,"pin":"D4","value":true,"si_unit":"boolean"}'
- set-control:
part-id: btn1
control: pressed
value: 1
- wait-serial: '{"timestamp":0,"pin":"D4","value":false,"si_unit":"BOOLEAN"}'
- wait-serial: '{"timestamp":0,"pin":"D4","value":false,"si_unit":"boolean"}'
4 changes: 2 additions & 2 deletions tests/scenarios/offline/test-log-ds18b20.scenario.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ steps:
- wait-serial: '[SD] Waiting for incoming JSON string...'
- write-serial: '{"exportVersion": "1.0.0", "exportedBy": "wokwi", "exportedAt": "2024-10-28T18:58:23.976Z", "exportedFromDevice": {"board": "metroesp32s3", "firmwareVersion": "1.0.0-beta.93", "referenceVoltage": 2.6, "totalGPIOPins": 11, "totalAnalogPins": 6}, "components": [{"componentAPI": "ds18x20", "name": "DS18B20: Temperature Sensor", "sensorTypeCount": 2, "sensorType1": "object-temp-fahrenheit", "sensorType2": "object-temp", "pinName": "D6", "sensorResolution": 12, "period": 5}], "checksum": 34}'
- write-serial: '\n'
- wait-serial: '{"timestamp":0,"pin":"D6","value":0,"si_unit":"OBJECT_TEMPERATURE"}'
- wait-serial: '{"timestamp":0,"pin":"D6","value":32,"si_unit":"OBJECT_TEMPERATURE_FAHRENHEIT"}'
- wait-serial: '{"timestamp":0,"pin":"D6","value":0,"si_unit":"C"}'
- wait-serial: '{"timestamp":0,"pin":"D6","value":32,"si_unit":"F"}'
4 changes: 2 additions & 2 deletions tests/scenarios/offline/test-valid-checksum.scenario.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ author: Brent Rubell for Adafruit Industries

steps:
- wait-serial: '[SD] Waiting for incoming JSON string...'
- write-serial: '{"exportVersion": "1.0.0", "exportedBy": "wokwi", "exportedAt": "2024-10-28T18:58:23.976Z", "exportedFromDevice": {"board": "metroesp32s3", "firmwareVersion": "1.0.0-beta.93", "referenceVoltage": 2.6, "totalGPIOPins": 11, "totalAnalogPins": 6}, "components": [{"componentAPI": "analogio", "name": "Analog Pin", "pinName": "D14", "type": "analog_pin", "mode": "ANALOG", "direction": "INPUT", "sampleMode": "TIMER", "analogReadMode": "PIN_VALUE", "period": 5, "isPin": true}], "checksum": 149}'
- write-serial: '{"exportVersion": "1.0.0", "exportedBy": "wokwi", "exportedAt": "2024-10-28T18:58:23.976Z", "exportedFromDevice": {"board": "metroesp32s3", "firmwareVersion": "1.0.0-beta.93", "referenceVoltage": 2.6, "totalGPIOPins": 11, "totalAnalogPins": 6}, "components": [{"componentAPI": "analogio", "name": "Analog Pin", "pinName": "D14", "type": "analog_pin", "mode": "ANALOG", "direction": "INPUT", "sampleMode": "TIMER", "analogReadMode": "raw", "period": 5, "isPin": true}], "checksum": 28}'
- write-serial: '\n'
- wait-serial: '[SD] JSON checksum OK!'
- wait-serial: '[SD] Checksum OK!'
31 changes: 17 additions & 14 deletions tests/test_offline.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-FileCopyrightText: 2024 Brent Rubell for Adafruit Industries
# SPDX-FileCopyrightText: 2024-2025, Brent Rubell for Adafruit Industries
# SPDX-License-Identifier: MIT
# SPDX-FileDescription: Unit tests for WipperSnapper's offline mode
# SPDX-FileDescription: Unit tests for WipperSnapper Offline Mode Functionality
import pytest
import subprocess

Expand All @@ -20,18 +20,6 @@ def run_wokwi_cli(binary, timeout, scenario, diagram):
)
return result

def test_invalid_json():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-invalid-json.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0

def test_invalid_checksum():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-invalid-checksum.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0

def test_valid_checksum():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-valid-checksum.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0

def test_digital_input():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-log-digital-in.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0
Expand All @@ -41,6 +29,21 @@ def test_analog_input():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-log-analogin.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0


def test_ds18b20():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-log-ds18b20.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0

def test_invalid_json():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-invalid-json.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0


def test_invalid_checksum():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-invalid-checksum.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0


def test_valid_checksum():
result = run_wokwi_cli(f"tests/bin/offline/firmware.elf", "120000", f"tests/scenarios/offline/test-valid-checksum.scenario.yaml", f"tests/diagrams/offline.json")
assert result.returncode == 0

0 comments on commit cec28b1

Please sign in to comment.