Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull in changes from upstream #1

Open
wants to merge 93 commits into
base: master
Choose a base branch
from

Commits on May 1, 2018

  1. Configuration menu
    Copy the full SHA
    522448f View commit details
    Browse the repository at this point in the history
  2. edit changelog

    wmacevoy committed May 1, 2018
    Configuration menu
    Copy the full SHA
    cfb703f View commit details
    Browse the repository at this point in the history

Commits on May 2, 2018

  1. better advanced example

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    996ebc4 View commit details
    Browse the repository at this point in the history
  2. edit guide

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    0e728f4 View commit details
    Browse the repository at this point in the history
  3. edit guide

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    b5b167b View commit details
    Browse the repository at this point in the history
  4. edit guide

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    3b456cb View commit details
    Browse the repository at this point in the history
  5. edit guide

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    3aa4c95 View commit details
    Browse the repository at this point in the history
  6. edit guide

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    ea9caf5 View commit details
    Browse the repository at this point in the history
  7. edit guide

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    b9d350d View commit details
    Browse the repository at this point in the history
  8. edit guide

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    1ab6777 View commit details
    Browse the repository at this point in the history
  9. ci init

    wmacevoy committed May 2, 2018
    Configuration menu
    Copy the full SHA
    edf0c20 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2018

  1. merge guide

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    14d8a57 View commit details
    Browse the repository at this point in the history
  2. grammer

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    fa4a791 View commit details
    Browse the repository at this point in the history
  3. vitro example

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    8211a0a View commit details
    Browse the repository at this point in the history
  4. vitro example

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    e72096f View commit details
    Browse the repository at this point in the history
  5. args for test

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    0993f9a View commit details
    Browse the repository at this point in the history
  6. vitro build

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    1b7b6f1 View commit details
    Browse the repository at this point in the history
  7. test vitro

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    b873410 View commit details
    Browse the repository at this point in the history
  8. vitro example

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    a965d42 View commit details
    Browse the repository at this point in the history
  9. linux build

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    906c98b View commit details
    Browse the repository at this point in the history
  10. leave .hex artifact

    wmacevoy committed May 3, 2018
    Configuration menu
    Copy the full SHA
    31fb892 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2018

  1. ci

    wmacevoy committed May 4, 2018
    Configuration menu
    Copy the full SHA
    07a1218 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2018

  1. test ci

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    25797be View commit details
    Browse the repository at this point in the history
  2. ci_self_test

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    82384d6 View commit details
    Browse the repository at this point in the history
  3. dir_cache

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    b9c9abb View commit details
    Browse the repository at this point in the history
  4. simpler includes cache_ide

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    92579d3 View commit details
    Browse the repository at this point in the history
  5. compile_vitro

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    3616ecb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    66d79cd View commit details
    Browse the repository at this point in the history
  7. compile

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    7e12acc View commit details
    Browse the repository at this point in the history
  8. ci mac

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    00737e4 View commit details
    Browse the repository at this point in the history
  9. vitro test file

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    c5fd9ce View commit details
    Browse the repository at this point in the history
  10. vitro

    wmacevoy committed May 6, 2018
    Configuration menu
    Copy the full SHA
    486ce6d View commit details
    Browse the repository at this point in the history

Commits on May 7, 2018

  1. fix arduino_exe

    wmacevoy committed May 7, 2018
    Configuration menu
    Copy the full SHA
    eecfe80 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2018

  1. ide update

    wmacevoy committed May 11, 2018
    Configuration menu
    Copy the full SHA
    18f218d View commit details
    Browse the repository at this point in the history
  2. launch arduino

    wmacevoy committed May 11, 2018
    Configuration menu
    Copy the full SHA
    41e134c View commit details
    Browse the repository at this point in the history
  3. compile uno

    wmacevoy committed May 11, 2018
    Configuration menu
    Copy the full SHA
    3ca3aa7 View commit details
    Browse the repository at this point in the history
  4. compile uno

    wmacevoy committed May 11, 2018
    Configuration menu
    Copy the full SHA
    4a1b88e View commit details
    Browse the repository at this point in the history
  5. compile uno

    wmacevoy committed May 11, 2018
    Configuration menu
    Copy the full SHA
    a66593a View commit details
    Browse the repository at this point in the history
  6. compile mega

    wmacevoy committed May 11, 2018
    Configuration menu
    Copy the full SHA
    2dff44a View commit details
    Browse the repository at this point in the history
  7. library props

    wmacevoy committed May 11, 2018
    Configuration menu
    Copy the full SHA
    fbcf127 View commit details
    Browse the repository at this point in the history
  8. library properties

    wmacevoy committed May 11, 2018
    Configuration menu
    Copy the full SHA
    e192ecd View commit details
    Browse the repository at this point in the history

Commits on May 14, 2018

  1. upload

    wmacevoy committed May 14, 2018
    Configuration menu
    Copy the full SHA
    907b2c0 View commit details
    Browse the repository at this point in the history
  2. ci self-test

    wmacevoy committed May 14, 2018
    Configuration menu
    Copy the full SHA
    64cf0af View commit details
    Browse the repository at this point in the history
  3. merge

    wmacevoy committed May 14, 2018
    Configuration menu
    Copy the full SHA
    6b7fb36 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cd98350 View commit details
    Browse the repository at this point in the history
  5. merge

    wmacevoy committed May 14, 2018
    Configuration menu
    Copy the full SHA
    2ca5162 View commit details
    Browse the repository at this point in the history
  6. merge

    wmacevoy committed May 14, 2018
    Configuration menu
    Copy the full SHA
    21687fe View commit details
    Browse the repository at this point in the history

Commits on May 17, 2018

  1. Put mergeable progmem strings in a separate section

    The `ARDUINO_UNIT_PSTR` macro puts strings in the .progmem.data section,
    and set the S (contains zero terminated strings) and M (mergeable)
    attributes. Unlike the normal PROGMEM/PSTR macros, which do not set
    these attributes, this allows for merging of duplicate or partly
    overlapping strings.
    
    However, when the regular PROGMEM attribute is also used, this will put
    other variables into the same .progmem.data section, but without these
    attributes. The compiler complains about this:
    
    	/tmp/cco2ytva.s: Assembler messages:
    	/tmp/cco2ytva.s:2658: Warning: ignoring changed section attributes for .progmem.data
    
    This seems harmless, but effectively causes the SM attributes to be
    applied to all progmem data, making the linker believe that all progmem
    data consists of mergeable zero-terminated strings, which can cause
    problems. For example, when progmem contains any variables with embedded
    zeroes, these variables will be truncated at the first embedded zero
    (but the code accessing these variables is unchanged, so these will
    access data from the next variable instead).
    
    For example, the `port_to_output_PGM` variable for the Arduino mega
    (variants/mega/pins_arduino.h) is one such variable, which contains
    embedded zeroes and is put into progmem. The following sketch can
    reproduce this problem:
    
    	#include <ArduinoUnit.h>
    
    	void setup() {
    	  assertTrue(true);
    	  digitalWrite(0, LOW);
    	}
    
    	void loop() { }
    
    After compiling this sketch for the Arduino Mega2560, the generated
    symbol table looks like this:
    
    	$ avr-objdump -t sketch.elf --demangle|sort|grep port_to_output_PGM -A 1
    	00000156 l     O .text  0000001a port_to_output_PGM
    	0000015d l     O .text  00000056 digital_pin_to_port_PGM
    
    As you can see, the port_to_output_PGM is 0x1a bytes long and should
    take space up to 0x156+0x1a = 0x170, but the next variable starts at
    0x15d already.
    
    It seems that for other boards, such as the Arduino Uno, these variables
    do not contain any embedded zeroes (only leading zeroes, which
    apparently are not a problem), so the problem does not surface there.
    
    To fix this, this commit changes the section name used by the
    `ARDUINO_UNIT_PSTR` macro to `.progmem.mergeable-strings`, so the
    section attribute only affects these particular strings, and not other
    progmem data.
    
    The linker scripts used by avr-libc use a wildcard `*(.progmem*)` to
    include progmem symbols, so any sections starting with `.progmem` are
    included in the link (checked in avr-libc 1:1.8.0+Atmel3.5.0-1 from
    Debian that all linker scripts that reference progmem use the wildcard).
    matthijskooijman committed May 17, 2018
    Configuration menu
    Copy the full SHA
    ce10afb View commit details
    Browse the repository at this point in the history
  2. Fix indentation after previous commit

    This fixes the indentation of the inline assembly, which is messed up by
    the previous commit. This is a separate commit, to separate the code
    change from the indentation-only changes.
    matthijskooijman committed May 17, 2018
    Configuration menu
    Copy the full SHA
    11517ec View commit details
    Browse the repository at this point in the history
  3. Merge pull request #81 from matthijskooijman/fix-progmem

     Put mergeable progmem strings in a separate section
    wmacevoy authored May 17, 2018
    Configuration menu
    Copy the full SHA
    2f1bee9 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2018

  1. Configuration menu
    Copy the full SHA
    0d9a648 View commit details
    Browse the repository at this point in the history
  2. version update

    wmacevoy committed Jun 11, 2018
    Configuration menu
    Copy the full SHA
    218fbd1 View commit details
    Browse the repository at this point in the history
  3. new macro names

    wmacevoy committed Jun 11, 2018
    Configuration menu
    Copy the full SHA
    daa6cc3 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2018

  1. Use correct field separator in keywords.txt

    The Arduino IDE requires the use of a single true tab separator between the keyword name and identifier. When spaces are used rather than a true tab the keyword is not highlighted.
    
    Reference:
    https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#keywords
    per1234 authored Jul 17, 2018
    Configuration menu
    Copy the full SHA
    0af78db View commit details
    Browse the repository at this point in the history
  2. Merge pull request #84 from per1234/keywords-separator

    Use correct field separator in keywords.txt
    wmacevoy authored Jul 17, 2018
    Configuration menu
    Copy the full SHA
    5d16d57 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2019

  1. make context script

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    117e71a View commit details
    Browse the repository at this point in the history
  2. do not set path

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    0001840 View commit details
    Browse the repository at this point in the history
  3. move to better name

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    e840009 View commit details
    Browse the repository at this point in the history
  4. build-test on pi

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    15749d5 View commit details
    Browse the repository at this point in the history
  5. skip slow tests with --fast

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    1dd70aa View commit details
    Browse the repository at this point in the history
  6. better error reporting

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    8a3409a View commit details
    Browse the repository at this point in the history
  7. ci pi+mac!

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    7995635 View commit details
    Browse the repository at this point in the history
  8. package_install script

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    44b3fe6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    59bf279 View commit details
    Browse the repository at this point in the history
  10. update default version

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    ce23585 View commit details
    Browse the repository at this point in the history
  11. local vars

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    93086a7 View commit details
    Browse the repository at this point in the history
  12. build simavr on mac

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    2230a5a View commit details
    Browse the repository at this point in the history
  13. create lib dir for osx

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    bfc15a9 View commit details
    Browse the repository at this point in the history
  14. ci notes and easy reset

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    7476ba7 View commit details
    Browse the repository at this point in the history
  15. better reset

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    6ab8191 View commit details
    Browse the repository at this point in the history
  16. fix ci upload

    wmacevoy committed Feb 17, 2019
    Configuration menu
    Copy the full SHA
    e4f7a65 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    4ad93a1 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2019

  1. Fix for TEENSYDUINO not having the protected String::concat(const cha…

    …r *, unsigned int); it has String::append instead.
    ssilverman committed Mar 17, 2019
    Configuration menu
    Copy the full SHA
    e0710c7 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2019

  1. Merge pull request #88 from ssilverman/master

    Fix for 3.0.2 not able to compile for Teensy
    wmacevoy authored Mar 21, 2019
    Configuration menu
    Copy the full SHA
    5431e99 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2019

  1. teensy support

    wmacevoy committed Sep 8, 2019
    Configuration menu
    Copy the full SHA
    306e0b5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6b9060c View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2019

  1. debug hack on ubuntu

    wmacevoy committed Sep 9, 2019
    Configuration menu
    Copy the full SHA
    7266d16 View commit details
    Browse the repository at this point in the history
  2. not all skipped.

    wmacevoy committed Sep 9, 2019
    Configuration menu
    Copy the full SHA
    60840b8 View commit details
    Browse the repository at this point in the history
  3. merge#89

    wmacevoy committed Sep 9, 2019
    Configuration menu
    Copy the full SHA
    dbcfa8c View commit details
    Browse the repository at this point in the history
  4. resolve #86 - finally!

    wmacevoy committed Sep 9, 2019
    Configuration menu
    Copy the full SHA
    9dbd3ce View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2453376 View commit details
    Browse the repository at this point in the history
  6. edit

    wmacevoy committed Sep 9, 2019
    Configuration menu
    Copy the full SHA
    7e8095f View commit details
    Browse the repository at this point in the history
  7. edit

    wmacevoy committed Sep 9, 2019
    Configuration menu
    Copy the full SHA
    b687ea4 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2021

  1. Fix incorrect merging of PROGMEM strings

    This fixes the ARDUINO_UNIT_PSTR macro to not reference the wrong
    string. In particular, this makes failing macros not output "passed"
    instead of "failed".
    
    The same problem was seemingly the subject of commit 60840b8 (not all
    skipped.). That commit fixed the problem for test status by not using
    the ARDUINO_UNIT_PSTR macro, and seems to contain a half fix for
    ARDUINO_UNIT_PSTR using __COUNTER__, but the way it was used,
    __COUNTER__ was never actually expanded, so that did not help (also, it
    tried to apply __COUNTER__ in the wrong place).
    
    The actual problem *seems* to be that the `0:` label used to reference
    the string constant is not actually unique. It should not need to be,
    since the `0b` reference should just reference the nearest label 0,
    going backwards, but I suspect that gcc ends up reordering asm blocks
    and thus messes up the reference. Using a unique (but still numerical so
    local) label seems to fix this. See e.g. this thread about reordering of
    asm blocks:
    
    https://gcc.gnu.org/legacy-ml/gcc-help/2017-10/msg00061.html
    
    So, this commit reverts the __COUNTER__ bit from that commit, just using
    the plain `ptr` name again (which does not need to be unique, since it
    is local the the __extension__ block). It also reverts the changes
    around the test status, so these now use ARDUINO_UNIT_STRING again as
    originally.
    
    Then, it applies a two-layer macro wrapper for ARDUINO_UNIT_PSTR, that
    ensures that __COUNTER__ is actually expanded before being used (which
    is needed when using a macro as part of a stringification or
    concatenation) and ensures that __COUNTER__ is only expanded once, with
    one value, rather than with different values in all three places.
    
    Finally, this commit uses this expanded counter value to generate
    unique labels, which seems to prevent this problem from occuring.
    matthijskooijman committed Jan 30, 2021
    Configuration menu
    Copy the full SHA
    72da542 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2022

  1. Merge pull request #91 from matthijskooijman/progmem-string-merging

    Fix incorrect merging of PROGMEM strings
    wmacevoy authored Nov 13, 2022
    Configuration menu
    Copy the full SHA
    1e67169 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2023

  1. Introduce a new "done" list of tests

    When a test is completed (including failed and skipped), it was already
    removed from the "root" list but it is now added to the "done" list.
    matthijskooijman committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    bf4effc View commit details
    Browse the repository at this point in the history
  2. Increment count in constructor instead of insert()

    This allows reusing insert() later to move tests from the done list back
    into the active list, without affecting the count.
    matthijskooijman committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    9b1ce8b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    63108e8 View commit details
    Browse the repository at this point in the history
  4. Add Test::runUntilDone()

    This simply calls Test::run() until all tests are done.
    matthijskooijman committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    9b14493 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c96d03d View commit details
    Browse the repository at this point in the history

Commits on May 10, 2023

  1. Merge pull request #85 from matthijskooijman/multiple-runs

    Allow running tests multiple times
    wmacevoy authored May 10, 2023
    Configuration menu
    Copy the full SHA
    9157b89 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2023

  1. reset script

    wmacevoy committed May 23, 2023
    Configuration menu
    Copy the full SHA
    e9dacf4 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2023

  1. cleaner factored script

    wmacevoy committed May 24, 2023
    Configuration menu
    Copy the full SHA
    6e7e6dd View commit details
    Browse the repository at this point in the history