1. 14 9月, 2017 1 次提交
    • J
      Allow suiteSetUp() and suiteTearDown() to be provided as normal C functions. · 2593c31b
      John Lindgren 提交于
      This is simpler and more flexible than embedding C code in the Ruby options
      (:suite_setup and :suite_teardown).  However, support for :suite_setup and
      :suite_teardown is kept for backwards compatibility.
      
      Several configurations are possible:
      1. :suite_setup and :suite_teardown options provided and used.
      2. :suite_setup and :suite_teardown options not provided (nil):
        2a. Weak symbols not supported; suiteSetUp() and suiteTearDown() are not called.
            It would be simpler to make user-provided functions mandatory in this case,
            but it could break some pre-existing test suites.
        2b. Weak symbols are supported and the stub implementations of suiteSetUp() and
            suiteTearDown() are called if there are no user-provided functions.
        2c. Weak symbols are supported but overridden by user-provided suiteSetUp() and
            suiteTearDown() functions.
      2593c31b
  2. 11 9月, 2017 1 次提交
  3. 26 8月, 2017 2 次提交
    • J
      Make code C89-compliant. · 2ae2bdb3
      John Lindgren 提交于
      2ae2bdb3
    • J
      Rewrite UnityPrintFloat to match printf("%.6g"). · 0e7eb545
      John Lindgren 提交于
      The existing implementation was not very good:
       - It printed all very small values as "0.000000..."
       - It did not distinguish positive and negative zero
       - In some cases it printed extra garbage digits for single-precision values
         (e.g. 3.9e+30 was printed as 3.90000013+30)
      
      Tests have been updated to check that we now match printf("%.6g") for
      1,000,000 randomly chosen values, except for rounding of the 6th digit.
      0e7eb545
  4. 14 5月, 2017 1 次提交
  5. 27 3月, 2017 2 次提交
  6. 22 3月, 2017 4 次提交
  7. 21 3月, 2017 1 次提交
  8. 19 3月, 2017 1 次提交
  9. 02 3月, 2017 1 次提交
    • M
      Fix warning with ubsan and -Wconversion · 7bce0b4f
      Max Bruckner 提交于
      This fixes a compiler warning about a lossy conversion from long
      unsigned int to int when compiling unity with gcc 6.3.1 and
      the options -std=c89 -Wconversion -fsanitize=undefined
      7bce0b4f
  10. 01 3月, 2017 1 次提交
    • M
      Fix warnings with -Wdouble-promotion · 1bf22d39
      Max Bruckner 提交于
      This fixes compiler warnings that clang produces with the
      -Wdouble-promotion compiler option.
      
      This only happens if double precision floating point numbers are
      enabled.
      
      The implicit double promotion occurs because numbers of type UNITY_FLOAT
      are passed into UnityPrintFloat, which expects const UNITY_DOUBLE.
      
      This commit fixes it by explicitly casting to UNITY_DOUBLE.
      1bf22d39
  11. 25 1月, 2017 1 次提交
  12. 19 1月, 2017 1 次提交
    • J
      Ran Unity into a source code formatter, no code changes · 97e4bd25
      jsalling 提交于
      Used clang-format, which produces noise on stuff you don't care about
      and requires setting it up to match the existing code base. Kept the
      potentially useful changes, discarded the rest, some manual tweaking
      required. It did catch lots of pesky indentation mistakes.
      97e4bd25
  13. 18 1月, 2017 3 次提交
  14. 16 1月, 2017 1 次提交
  15. 15 1月, 2017 3 次提交
  16. 07 1月, 2017 1 次提交
  17. 31 12月, 2016 1 次提交
  18. 30 12月, 2016 1 次提交
  19. 29 12月, 2016 2 次提交
  20. 25 12月, 2016 1 次提交
  21. 24 12月, 2016 2 次提交
  22. 29 11月, 2016 1 次提交
  23. 20 11月, 2016 7 次提交
    • J
      Tests for Printing All float values · aa4d773d
      jsalling 提交于
      Takes about 10 minutes to run all floats, so split into 3 tests for parallel
      running later. This was useful during development for finding hard corner cases
      and getting the routine to high quality. Off by default.
      Note that all floats 16.0 and up can be represented uniquely (in this format) and will
      round-trip back to the exact same float with sscanf(). This property is true for
      UnityPrintFloat, despite a few rounding error cases, it will produce output identity.
      
      Better comments and refactor on round ties to even
      Add upper threshold value on round to even feature since numerical precision issues
      start to give approximations when dividing one large double by another. When tested
      on float values, using 1e22 gave the fewest rounding errors.
      
      Fix warnings from gcc. Some float constants do not behave well in existing tests.
      Add casts where conversions could be imprecise.
      aa4d773d
    • J
      Refactor repeated code to print float expected and actual · 25f64173
      jsalling 提交于
      Move double tests down in the file
      25f64173
    • J
      Tests for Printing Floating Point numbers · 9f4b1a33
      jsalling 提交于
      9f4b1a33
    • J
      Make UnityPrintFloat on by default · 47f6a85b
      jsalling 提交于
      Remove UNITY_FLOAT_VERBOSE entirely, add option UNITY_EXCLUDE_FLOAT_PRINT
      Remove some questionable float casts from doubles
      Default to Round Ties to Even behavior, add option to Round Ties Away from Zero
      47f6a85b
    • J
      Round ties to even by default, many C libraries follow this · 54fe786f
      jsalling 提交于
      Linux gcc & clang and OSX clang produce output with ties round to even
      Windows mingw gcc does not
      Example 0.0078125 prints '0.007812'
      54fe786f
    • J
      Correct boundary conditions and add tests · 4a27d147
      jsalling 提交于
      4a27d147
    • J
      Start adding tests. Add const and simplify code. · 1dfcb544
      jsalling 提交于
      1dfcb544