Skip to content

Commit a438a59

Browse files
authored
Merge pull request #183 from ianfixes/2020-10-16_suggestions
Suggested fixes
2 parents 972ad28 + b4ee115 commit a438a59

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+1267
-190
lines changed

Diff for: .rubocop.yml

+6
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ Layout/ExtraSpacing:
3131
Layout/EndOfLine:
3232
EnforcedStyle: lf
3333

34+
Layout/EndAlignment:
35+
EnforcedStyleAlignWith: start_of_line
36+
37+
Layout/CaseIndentation:
38+
EnforcedStyle: end
39+
3440
Metrics/LineLength:
3541
Description: Limit lines to 80 characters.
3642
StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits

Diff for: .travis.yml

+6
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,9 @@ script:
2727
- cd SampleProjects/TestSomething
2828
- bundle install
2929
- bundle exec arduino_ci.rb
30+
- cd ../NetworkLib
31+
- cd scripts
32+
- bash -x ./install.sh
33+
- cd ..
34+
- bundle install
35+
- bundle exec arduino_ci.rb

Diff for: CHANGELOG.md

+19-4

Diff for: REFERENCE.md

+46-4

Diff for: SampleProjects/DependOnSomething/library.properties

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
depends=OnePointOhDummy,OnePointFiveDummy

Diff for: SampleProjects/DependOnSomething/src/YesDeps.cpp

Whitespace-only changes.

Diff for: SampleProjects/DependOnSomething/src/YesDeps.h

Whitespace-only changes.

Diff for: SampleProjects/DependOnSomething/test/null.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include <ArduinoUnitTests.h>
2+
3+
unittest(nothing)
4+
{
5+
}
6+
7+
unittest_main()

Diff for: SampleProjects/ExcludeSomething/.arduino-ci.yml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
unittest:
2+
exclude_dirs:
3+
- src/excludeThis

Diff for: SampleProjects/ExcludeSomething/README.md

+3

Diff for: SampleProjects/ExcludeSomething/library.properties

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name=TestSomething
2+
version=0.1.0
3+
author=Ian Katz <[email protected]>
4+
maintainer=Ian Katz <[email protected]>
5+
sentence=Arduino CI unit test example
6+
paragraph=A skeleton library demonstrating file exclusion
7+
category=Other
8+
url=https://github.com/Arduino-CI/arduino_ci/SampleProjects/ExcludeSomething
9+
architectures=avr,esp8266
10+
includes=do-something.h
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#include "exclude-something.h"
2+
int excludeSomething(void) {
3+
return -1;
4+
};
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#pragma once
2+
#include <Arduino.h>
3+
int excludeSomething(void);

Diff for: SampleProjects/ExcludeSomething/test/null.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include <ArduinoUnitTests.h>
2+
3+
unittest(nothing)
4+
{
5+
}
6+
7+
unittest_main()

Diff for: SampleProjects/NetworkLib/.arduino-ci.yml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
unittest:
2+
platforms:
3+
- mega2560
4+
libraries:
5+
- "Ethernet"
6+
7+
compile:
8+
platforms:
9+
- mega2560
10+
libraries:
11+
- "Ethernet"

Diff for: SampleProjects/NetworkLib/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.bundle

Diff for: SampleProjects/NetworkLib/Gemfile

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
source 'https://rubygems.org'
2+
gem 'arduino_ci', path: '../../'

Diff for: SampleProjects/NetworkLib/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#include <NetworkLib.h>
2+
// if it seems bare, that's because it's only meant to
3+
// demonstrate compilation -- that references work
4+
void setup() {}
5+
6+
void loop() {}

Diff for: SampleProjects/NetworkLib/library.properties

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name=Ethernet
2+
version=0.1.0
3+
author=James Foster <[email protected]>
4+
maintainer=James Foster <[email protected]>
5+
sentence=Sample Ethernet library to validate Client/Server mocks
6+
paragraph=Sample Ethernet library to validate Client/Server mocks
7+
category=Other
8+
url=https://github.com/Arduino-CI/arduino_ci/SampleProjects/Ethernet
9+
architectures=avr,esp8266
10+
includes=NetworkLib.h

Diff for: SampleProjects/NetworkLib/scripts/install.sh

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
3+
# if we don't have an Ethernet library already (say, in new install or for an automated test),
4+
# then get the custom one we want to use for testing
5+
cd $(bundle exec arduino_library_location.rb)
6+
if [ ! -d ./Ethernet ] ; then
7+
git clone https://github.com/Arduino-CI/Ethernet.git
8+
fi

Diff for: SampleProjects/NetworkLib/src/NetworkLib.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include "Ethernet.h"

Diff for: SampleProjects/NetworkLib/src/NetworkLib.h

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#pragma once
2+
3+
#include <Arduino.h>

Diff for: SampleProjects/NetworkLib/test/test.cpp

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
cd SampleProjects/NetworkLib
3+
bundle config --local path vendor/bundle
4+
bundle install
5+
bundle exec arduino_ci_remote.rb --skip-compilation
6+
# bundle exec arduino_ci_remote.rb --skip-examples-compilation
7+
*/
8+
9+
#include <Arduino.h>
10+
#include <ArduinoUnitTests.h>
11+
#include <Ethernet.h>
12+
13+
unittest(test) { assertEqual(EthernetNoHardware, Ethernet.hardwareStatus()); }
14+
15+
unittest_main()

Diff for: SampleProjects/OnePointFiveDummy/NoBase.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveDummy/NoBase.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveDummy/README.md

+1

Diff for: SampleProjects/OnePointFiveDummy/library.properties

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveDummy/src/YesSrc.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveDummy/src/YesSrc.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveDummy/src/subdir/YesSubdir.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveDummy/src/subdir/YesSubdir.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveDummy/test/null.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include <ArduinoUnitTests.h>
2+
3+
unittest(nothing)
4+
{
5+
}
6+
7+
unittest_main()

Diff for: SampleProjects/OnePointFiveDummy/utility/ImNotHere.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveDummy/utility/ImNotHere.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveMalformed/README.md

+1

Diff for: SampleProjects/OnePointFiveMalformed/YesBase.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveMalformed/YesBase.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveMalformed/src/ImNotHere.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveMalformed/src/ImNotHere.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveMalformed/utility/YesUtil.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointFiveMalformed/utility/YesUtil.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointOhDummy/README.md

+1

Diff for: SampleProjects/OnePointOhDummy/YesBase.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointOhDummy/YesBase.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointOhDummy/src/ImNotHere.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointOhDummy/src/ImNotHere.h

Whitespace-only changes.

Diff for: SampleProjects/OnePointOhDummy/test/null.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include <ArduinoUnitTests.h>
2+
3+
unittest(nothing)
4+
{
5+
}
6+
7+
unittest_main()

Diff for: SampleProjects/OnePointOhDummy/utility/YesUtil.cpp

Whitespace-only changes.

Diff for: SampleProjects/OnePointOhDummy/utility/YesUtil.h

Whitespace-only changes.

Diff for: SampleProjects/README.md

+11-3

Diff for: SampleProjects/TestSomething/.arduino-ci.yml

-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
unittest:
2-
exclude_dirs:
3-
- excludeThis
42
platforms:
53
- uno
64
- due

Diff for: SampleProjects/TestSomething/test/clientServer.cpp

+87
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#include <Arduino.h>
2+
#include <ArduinoUnitTests.h>
3+
#include <Client.h>
4+
#include <IPAddress.h>
5+
#include <Printable.h>
6+
#include <Server.h>
7+
#include <Udp.h>
8+
9+
// Provide some rudamentary tests for these classes
10+
// They get more thoroughly tested in SampleProjects/NetworkLib
11+
12+
unittest(Client) {
13+
Client client;
14+
assertEqual(0, client.available()); // subclass of Stream
15+
assertEqual(0, client.availableForWrite()); // subclass of Print
16+
String outData = "Hello, world!";
17+
client.println(outData);
18+
String inData = client.readString();
19+
assertEqual(outData + "\r\n", inData);
20+
}
21+
22+
unittest(IPAddress) {
23+
IPAddress ipAddress0;
24+
assertEqual(0, ipAddress0.asWord());
25+
uint32_t one = 0x01020304;
26+
IPAddress ipAddress1(one);
27+
assertEqual(one, ipAddress1.asWord());
28+
IPAddress ipAddress2(2, 3, 4, 5);
29+
assertEqual(0x05040302, ipAddress2.asWord());
30+
uint8_t bytes[] = {3, 4, 5, 6};
31+
IPAddress ipAddress3(bytes);
32+
assertEqual(0x06050403, ipAddress3.asWord());
33+
uint8_t *pBytes = ipAddress1.raw_address();
34+
assertEqual(*(pBytes + 0), 4);
35+
assertEqual(*(pBytes + 1), 3);
36+
assertEqual(*(pBytes + 2), 2);
37+
assertEqual(*(pBytes + 3), 1);
38+
IPAddress ipAddress1a(one);
39+
assertTrue(ipAddress1 == ipAddress1a);
40+
assertTrue(ipAddress1 != ipAddress2);
41+
assertEqual(1, ipAddress1[3]);
42+
ipAddress1[1] = 11;
43+
assertEqual(11, ipAddress1[1]);
44+
assertEqual(1, ipAddress0 + 1);
45+
}
46+
47+
class TestPrintable : public Printable {
48+
public:
49+
virtual size_t printTo(Print &p) const {
50+
p.print("TestPrintable");
51+
return 13;
52+
}
53+
};
54+
55+
unittest(Printable) {
56+
TestPrintable printable;
57+
Client client;
58+
client.print(printable);
59+
assertEqual("TestPrintable", client.readString());
60+
}
61+
62+
class TestServer : public Server {
63+
public:
64+
uint8_t data;
65+
virtual size_t write(uint8_t value) {
66+
data = value;
67+
return 1;
68+
};
69+
};
70+
71+
unittest(Server) {
72+
TestServer server;
73+
server.write(67);
74+
assertEqual(67, server.data);
75+
}
76+
77+
unittest(Udp) {
78+
UDP udp;
79+
assertEqual(0, udp.available()); // subclass of Stream
80+
assertEqual(0, udp.availableForWrite()); // subclass of Print
81+
String outData = "Hello, world!";
82+
udp.println(outData);
83+
String inData = udp.readString();
84+
assertEqual(outData + "\r\n", inData);
85+
}
86+
87+
unittest_main()

0 commit comments

Comments
 (0)