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

Integration Candidate 20191030 #281

Merged
merged 10 commits into from
Nov 7, 2019
Merged

Integration Candidate 20191030 #281

merged 10 commits into from
Nov 7, 2019

Commits on Oct 21, 2019

  1. Fix #266: Rename "vxworks-ng" and "posix-ng" coverage tests

    Rename to "vxworks" and "posix", respectively, to match the
    actual implementation names.  The build scripts rely on
    the name being the same and will fail if different.
    
    This also updates the default build to be vxworks rather
    than vxworks6, if not specified on the command line.
    jphickey committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    89fec29 View commit details
    Browse the repository at this point in the history
  2. Fix #230: Add Test cases to improve code coverage test

    Add numerous unit test cases to improve the code coverage
    ratios on the vxworks and shared implementation layers.
    
    Prior to this change set, the coverage ratio was:
      lines......: 90.4% (2549 of 2820 lines)
      functions..: 95.9% (306 of 319 functions)
    
    After this change set, the coverage ratio is:
      lines......: 99.9% (2846 of 2849 lines)
      functions..: 100.0% (330 of 330 functions)
    
    Note these stats include some of the UT code itself,
    and this is what added 11 functions.  No functions
    were added to FSW code.
    
    Note, one test condition will fail until the
    fix for related bug #269 is merged.
    
    This also fixes the posix coverage test so it
    builds and runs, but coverage is still not
    implemented here.
    jphickey committed Oct 21, 2019
    Configuration menu
    Copy the full SHA
    dfa3393 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2019

  1. Update #230 to correlate with updated timer code

    The timer code for VxWorks was fixed in bug #271 and the
    coverage code test needs a corresponding update to cover
    the code change.
    
    This is kept as a separate update commit as neither
    changeset is merged to master yet.
    jphickey committed Oct 25, 2019
    Configuration menu
    Copy the full SHA
    5cdd403 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2019

  1. Fix #269: Correct error checking for taskSpawn

    The test for failure of taskSpawn should be for the value of
    ERROR, not 0, per the VxWorks API documentation.
    
    Found when implementing the unit test improvements in #230.
    This issue is generally only reproducible in UT where taskSpawn
    can be made to fail.
    jphickey authored and skliper committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    049e101 View commit details
    Browse the repository at this point in the history
  2. CCB 20191023: Merge #267 #268 #270

    Fixes #230 #266 #269
    Code reviewed and approved at 20191023 CCB
    skliper committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    342422a View commit details
    Browse the repository at this point in the history
  3. Fix #272: use 4K stack for sem-speed-test tasks

    On VxWorks, no minimum stack size is implemented,
    and the implementation will create tasks with an
    extremely small stack if "0" is passed in.
    
    This causes the worker tasks to overrun the stack
    on Vxworks, triggering undefined/inconsistent
    behavior.
    jphickey authored and skliper committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    8310170 View commit details
    Browse the repository at this point in the history
  4. Fix #273: Correct format code in debug message

    Cast the address value so it may be printed as an integer.
    jphickey authored and skliper committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    c75b38d View commit details
    Browse the repository at this point in the history
  5. Fix #271: Correct interval time computations

    In VxWorks, the sigwait routine was not handling the actual time of
    the first interval, which basically meant that the start_time was
    elapsed twice before the first callback was generated.
    
    This exposed a few other small but significant details regarding
    how the intervals were dealt with across all operating systems.
    
    For VxWorks and RTEMS, where the timer interval is rounded up to
    an integer number of ticks, compute the actual interval time and
    write a debug message in case it is different than the intended
    value.  This makes it more obvious to the user that some
    application/bsp changes might be necessary to get accurate timing.
    
    For all operating systems, the "reset" flag needs to be sampled
    AFTER the sigwait returns, not before it.  This flag gets set when
    the OS_TimeBaseSet() API is called.
    
    Removes an unused POSIX delay routine that was intended to support
    use of clock_nanosleep() in place of the timer signal.  This mode
    was never usable because OS_TimerCreate always allocates a signal and
    fails if it cannot do so.  This code caused problems/incompatibilities
    for the sigwait model which IS used, so it needed to be removed.
    jphickey authored and skliper committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    f1fcd8d View commit details
    Browse the repository at this point in the history
  6. Fix #274: Avoid possible deadlock of timer callback

    If the tick_time from the wait routine was perpetually
    greater than the interval time, eventually the wait_time
    became such that it was always below zero.  Once this
    occurs, application callbacks would cease entirely.
    
    To avoid this, run the callback condition in a loop
    for periodic timers only (not for one-shot config).
    jphickey authored and skliper committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    6357c2d View commit details
    Browse the repository at this point in the history
  7. CCB 20191030: Merge #257 #276 #277 #278

    Fixes #271 #272 #273 #274
    Code reviewed and approved at 20191030 CCB
    skliper committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    58d4d74 View commit details
    Browse the repository at this point in the history