Skip to content

Commit

Permalink
unittest: initial
Browse files Browse the repository at this point in the history
  • Loading branch information
yoursunny committed Sep 1, 2024
1 parent 4a982d8 commit 892902c
Show file tree
Hide file tree
Showing 7 changed files with 666 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,12 @@ jobs:
libraries: |
- source-path: ./
- name: Streaming
- source-url: https://github.com/bxparks/EpoxyDuino.git
version: v1.6.0
- name: Run unit tests
run: |
ln -s ~/Arduino/libraries/EpoxyDuino ../../EpoxyDuino
make -j4
./unittest.out
working-directory: ./unittest
timeout-minutes: 30
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
*.o
*.out
/.vscode
/examples/*/build
2 changes: 2 additions & 0 deletions src/fipsy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@ Fipsy::Fipsy(SPIClass& spi)

bool
Fipsy::begin(int8_t sck = -1, int8_t miso = -1, int8_t mosi = -1, int8_t ss = -1) {
#ifndef EPOXY_DUINO
m_spi.begin(sck, miso, mosi, ss);
m_spi.setHwCs(true);
#endif

auto resp = spiTrans<8>({0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00});
uint32_t deviceId = (resp[4] << 24) | (resp[5] << 16) | (resp[6] << 8) | (resp[7] << 0);
Expand Down
2 changes: 2 additions & 0 deletions src/fipsy.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,11 @@ template<int N>
std::array<uint8_t, N>
Fipsy::spiTrans(const std::array<uint8_t, N>& req) {
std::array<uint8_t, N> resp;
#ifndef EPOXY_DUINO
m_spi.beginTransaction(SPISettings(400000, SPI_MSBFIRST, SPI_MODE0));
m_spi.transferBytes(req.data(), resp.data(), req.size());
m_spi.endTransaction();
#endif
return resp;
}

Expand Down
3 changes: 3 additions & 0 deletions unittest/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
APP_NAME := unittest
ARDUINO_LIBS := AUnit EpoxyFS Streaming fipsy
include ../../EpoxyDuino/EpoxyDuino.mk
618 changes: 618 additions & 0 deletions unittest/epoxyfsdata/v1-blinky1.jed

Large diffs are not rendered by default.

31 changes: 31 additions & 0 deletions unittest/unittest.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#include <fipsy.hpp>

#include <AUnit.h>
#include <Arduino.h>
#include <EpoxyFS.h>

test(ParseV1) {
auto file = fs::EpoxyFS.open("v1-blinky1.jed", "r");
fipsy::FuseTable fuseTable;
auto parseError = fipsy::parseJedec(file, fuseTable);
assertEqual(static_cast<int>(parseError), static_cast<int>(fipsy::JedecError::OK));
assertEqual(fuseTable.computeChecksum(), 0xA0A5);
file.close();
}

void
setup() {
Serial.begin(115200);
Serial.println();

auto ok = fs::EpoxyFS.begin();
if (!ok) {
Serial.println("EpoxyFS error");
exit(1);
}
}

void
loop() {
aunit::TestRunner::run();
}

0 comments on commit 892902c

Please sign in to comment.