Closed
Description
System
- OS: macOS Catalina (10.15.6)
ruby -v
: ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]bundle -v
: Bundler version 1.17.2bundle info arduino_ci
:- arduino_ci (0.3.0)
Summary: Tools for building and unit testing Arduino libraries
Homepage: http://github.com/ianfixes/arduino_ci
Path: /Users/jfoster/code/arduino_ci
- arduino_ci (0.3.0)
g++ -v
:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.3 (clang-1103.0.32.62)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin- Arduino IDE version: 1.8.13
java -version
:
java version "11.0.7" 2020-04-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)- URL of failing Travis CI job: N/A
- URL of your Arduino project: https://github.com/Open-Acidification/Open_Acidification_pH-stat_arduino
What is expected result of tests?
I'm looking at arduino_ci
for our project and for a class I'm teaching this term. If we do use it I'll likely be making contributions and asking my students to do so as well (if nothing else, to documentation and samples).
I've forked, cloned, and opened a terminal in SampleProjects/DoSomething. When I ran bundle exec arduino_ci_remote.rb
, the result was a couple hundred lines of output, including the following:
...Unit testing bad-null.cpp with g++ ✗
...Unit testing bad-null.cpp with g++ ✗
...Unit testing bad-null.cpp with g++ ✗
WARNING: Spurious .bundle folder in 'DoSomething' library
WARNING: Spurious .bundle folder in 'TestSomething' library
fork/exec /Users/jfoster/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++: bad CPU type in executable
✗
WARNING: Spurious .bundle folder in 'DoSomething' library
WARNING: Spurious .bundle folder in 'TestSomething' library
WARNING: library DoSomething claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (sam) architecture(s).
fork/exec /Users/jfoster/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags: bad CPU type in executable
✗
WARNING: Spurious .bundle folder in 'DoSomething' library
WARNING: Spurious .bundle folder in 'TestSomething' library
fork/exec /Users/jfoster/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++: bad CPU type in executable
✗
Failures: 6
I'm confused by a few things.
- I understand that
bad-null.cpp
is supposed to fail, but my experience with unit testing is that expected failures are reported separately from unexpected failures. Is there a way for an automated script to know that the failures were expected? - I assume that the
bad CPU type
message is because it is trying to run the tests on uno, due, and leonardo. When I remove the three platforms from.arduino-ci.yaml
it still reportsbad CPU type
but doesn't run any tests. How do I run tests locally (in my case, on my Mac), and not try to run them on the three sample platforms? - Who is complaining about the
Spurious .bundle folder
and why? In my case this directory contains aconfig
file withBUNDLE_PATH: "vendor/bundle"
so that nothing gets installed with root access. - Why is the test looking in the
TestSomething
directory when I'm in theDoSomething
directory?
Arduino or Unit Test Code, Illustrating the Problem
SampleProjects/DoSomething
Arduino Architecture(s) Affected
I'm trying to stay off the Arduino for testing purposes, but my target device is a Mega 2560.