1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-25 20:02:37 +03:00

32 Commits

Author SHA1 Message Date
david gauchard
cc0bfa04d4
boards generator: updates (#5103)
boards generator updates:
* simplified mapping description: only flash and spiffs sizes are needed
* some ldscripts are renamed due to autogenerated names
* +2M/0, +2M/512K spiffs, +4M0
* reduce length of hidden strings in boards.txt (#5100, https://github.com/arduino/arduino-builder/issues/284)
* give more details in ldscripts (address, size,  +rf-cal, +sdk-wifi-settings)
2018-09-03 22:29:27 +02:00
Ivan Grokhotkov
0713a01db8 Fix iostream related issues (#5047)
* add stubs for more exception throw calls

Fixes https://github.com/esp8266/Arduino/issues/3358

* libc: make putc_r implementation weak

newlib provides its own implementation of _putc_r, which will call
_write_r (possibly after buffering). Make our implementation weak to
allow using the one from newlib.

Fixes https://github.com/esp8266/Arduino/issues/4630

* libc: fix incorrect return value of _write_r call

Should return number of bytes written, actually returned zero. This
resulted in std::cout going into failed state after the first write.

* tests: add test for output to std::cout
2018-08-26 13:47:01 -04:00
david gauchard
85e68093e9
Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system (#5018)
Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system 

* enable dot_a_linkage on internal libraries
* add device tests
* boards generator: deprecate --noextra4k/--allowWPS and fix documentation
2018-08-20 14:35:52 +02:00
Muhammad Azeez
4305275f8d fix a very small typo in http client tests (#4633) 2018-04-11 17:38:20 +08:00
Ivan Grokhotkov
1acaa8b8f6 allow reading test environment from python mocks
This allows requesting environment variable values set in the C++ test
code, from python mock code. Use case is cross-checking test
results against values expected by the host side part of the test.
2018-04-11 11:19:21 +08:00
Ivan Grokhotkov
8bd26f2ded add support for environment variables in device tests
Previously device tests included information such as access point SSID/password at compile time. This made it difficult to compile test binaries once and then send them to multiple test runners for execution.

This change adds a command to the test library to set environment variable on the target device: “setenv key value”. C library setenv/getenv facility is used to store variables.

Test runner, tests, and makefile are updated to use this functionality.
2018-04-11 11:19:21 +08:00
david gauchard
d5cbd91775 device test for #4516 (WiFiClient leaking) (#4549)
* device test for #4516 (WiFiClient leaking)

* simply count the number of connections that do not change heap

* remove unused heapLost

* + python server (to not depend on gateway's opened tcp port)

* remove old&bad define

* fix another old address
2018-03-23 11:30:59 -03:00
david gauchard
2013af1b19
fix minor issues in test runner scripts on device (#4542)
* tests/device/Makefile: use bourne shell compatible "." instead ot "source" (ubuntu's dash does not understand it)

* tests/device: make BEGINTIMEOUT a new error return value instead of a test-process-breaking exception
2018-03-21 17:07:23 +01:00
mrwgx3
3934d10f21 Correct millis() drift, issue #3078 (#4264)
* Correct millis() drift, issue 3078

* Add 'test_millis_mm.ino' runtime benchmark

* Eliminate 'punning' warning

Add union 'acc' in millis() to eliminate 'punning' compiler warning

* Correct minor typo

* Eliminate 'punning' warning

 Add union 'acc' to eliminate 'punning' compiler warning  in 'millis_test'_DEBUG() and 'millis_test()'
2018-03-12 15:28:04 -03:00
Ivan Grokhotkov
ee5a1e2804 WiFiClient: don’t destroy ClientContext on ::stop
Reported in https://github.com/esp8266/Arduino/issues/4078.

WiFiClient::stopAll, called from a WiFi disconnected event handler,
could be called while WiFiClient::connect was in progress. This issue
was initially fixed in #4194, by testing `this` pointer for being
non-null in ClientContext::connect.

This change delegates deletion of ClientContext to WiFiClient
destructor. WiFiClient::stop only calls ClientContext::stop, which
closes/aborts the connection.
2018-02-20 03:33:55 +03:00
Ivan Grokhotkov
2c8b2b92ce tests: minor fixes, add README.md 2018-01-09 15:59:08 +08:00
Ivan Grokhotkov
e7127118c6 tests/device: clean up requirements.txt, use latest versions 2018-01-09 15:59:08 +08:00
Ivan Grokhotkov
74ba914ced tests/device: add make target to generate test reports 2018-01-09 15:59:08 +08:00
Ville Skyttä
ed83304179 Python 3.6 invalid escape sequence deprecation fixes
https://docs.python.org/3/whatsnew/3.6.html#deprecated-python-behavior
2018-01-01 17:53:27 +03:00
Ville Skyttä
7dca0727e1 Python 3 syntax fixes 2018-01-01 17:53:27 +03:00
Ville Skyttä
b4653f4d44 Fix URL parameter decoding in web server (#3313)
* Make HTTP server test data easier to examine

* Add HTTP server parameter tests containing & and =

* Fix URL parameter decoding in web server

The parameters string needs to be first split on & and =, and URL
decoding on parts done after that. Otherwise URL encoded & and = within
parameter names and values cause incorrect splitting.
2017-12-30 14:24:37 -03:00
Me No Dev
2364ad4dd0 Web Server Test (#1) (#2231)
* Initial WebServer Test

* ignore .pyc files

* add poster as requirement to virtualenv
2016-07-05 16:18:53 +08:00
Ivan Grokhotkov
7a2d2460f3 Add sample test for WiFiServer
Mostly an example of writing tests for servers
2016-07-04 18:22:27 +08:00
Me No Dev
af3b17c0bb add more begin timeout for networked sketches and actually fail if begin is not received (#2223) 2016-07-04 17:01:57 +08:00
Ivan Grokhotkov
438744044c Add test for mktime and localtime (#1745) 2016-07-04 15:07:23 +08:00
Ivan Grokhotkov
5e3df08273 Add tests for sqrt, fmod (#612) and floating point printf/scanf (#1179) 2016-06-23 17:44:33 +08:00
Ivan Grokhotkov
d7d98d03ca Use libc from newlib (#1752)
* Use newlib libc library

This change adds libcmin.a, which is created from newlib libc by selectively removing some of the object files (mostly related to heap management).
The list of files is available in tools/sdk/lib/make_libcmin.sh. Files which are not needed are commented out.
This change adds support for various functions which were missing, like sscanf, strftime, etc.

* Fix some of the time functions

* Redirect stdout to serial

* Implement __putc_r

* Switch to custom newlib build

Built from https://github.com/igrr/newlib-xtensa using:
./configure --with-newlib --enable-multilib --disable-newlib-io-c99-formats --enable-newlib-supplied-syscalls --enable-target-optspace --program-transform-name="s&^&xtensa-lx106-elf-&" --disable-option-checking --with-target-subdir=xtensa-lx106-elf --target=xtensa-lx106-elf --enable-newlib-nano-formatted-io --enable-newlib-reent-small  --prefix=path-to-arduino-core/tools/sdk/libc
CROSS_CFLAGS="-DMALLOC_PROVIDED -DSIGNAL_PROVIDED -DABORT_PROVIDED" make
make install

* Update tests
2016-06-23 17:27:57 +08:00
Ivan Grokhotkov
e64e32b329 Fix regression in WiFiClientSecure, update HTTPS test case (#2150) 2016-06-15 11:49:51 +08:00
Ivan Grokhotkov
da17d5425a Fix regression in WiFi.onEvent, add testcase (thanks @everslick) 2016-06-14 13:09:46 +08:00
Ivan Grokhotkov
a14ac2cbdd Bring back old semantics to random and randomSeed, add secureRandom (#1710) (#2142) 2016-06-14 07:17:54 +08:00
Ivan Grokhotkov
5eb6a7f449 Add mechanism for posting functions to the main loop (#2082)
* Add mechanism for posting functions to the main loop (#1064)

* Fix indentation, add note that API is not stable
2016-06-08 11:22:48 +08:00
Ivan Grokhotkov
dd81336b79 ESP8266HTTPClient: fix duplicate Content-Length headers (#1902) 2016-06-03 16:11:44 +08:00
Ivan Grokhotkov
15aed3b06e Add missing python script for HTTP client test 2016-05-11 14:56:46 +08:00
Ivan Grokhotkov
082a4865fc Tests update 2016-05-10 21:52:26 +08:00
Ivan Grokhotkov
102872a296 More HTTPClient tests 2016-04-26 16:04:19 +08:00
Ivan Grokhotkov
e9f3a3de1f Fix passing of debug level to the builder 2016-04-26 16:04:19 +08:00
Ivan Grokhotkov
ab7af89002 Device side test library and test runner 2016-04-26 16:04:19 +08:00