Commit Graph

11850 Commits

Author SHA1 Message Date
Michael Davidsaver
6923ca9fda RTEMS: conditional fixups for pc386 2017-10-22 19:11:00 -05:00
Michael Davidsaver
aace975de1 RTEMS: probe for PCI varient of NE2000 NIC
Provided by QEMU
2017-10-22 19:10:35 -05:00
Michael Davidsaver
c8b60e0f1b db/test: dbStressLock skip for RTEMS
This test assumes that several threads with
equal priority will all run eventually.
This isn't true an UP target without
time sliced scheduling (eg. RTEMS).
2017-09-27 16:30:31 -05:00
Michael Davidsaver
1255cdc9ee libCom/test: only run epicsUnitTest for host arch
custom .plt won't use WINE or QEMU when necessary.
2017-09-27 16:21:44 -05:00
Michael Davidsaver
12da38a7ca build/run RTEMS-pc386 tests individually
Build and run individual test executable in addition
to the test harness.
Individual tests run with 'make runtests'.

omit epicsUnitTestTest as it has a custom .plt
2017-09-27 16:21:44 -05:00
Michael Davidsaver
f78e1f39d7 RTEMS: build self contained test harness
Test data stub as a separate file to allow
linking into test harness and individual tests.
2017-09-27 16:21:44 -05:00
Michael Davidsaver
684fe10d8c RTEMS: Add epicsMemFs and hook for app specific FS setup
Default falls back to network FS.

Compile in a set of files as a epicsMemFS structure.
epicsMemFsLoad() creates a set of files based on this.
2017-09-27 16:21:44 -05:00
Michael Davidsaver
15b97f65cb src/tools: teach makeTestfile about WINE and QEMU
Teach makeTestfile host to run test for some cross built
targets.
2017-09-27 16:21:44 -05:00
Michael Davidsaver
c1b0c1bac1 libCom/misc: testMain for RTEMS give weak alias for main()
Allows tests to be linked separately or in a common test harness
2017-09-27 16:09:49 -05:00
Andrew Johnson
cffa2e8f46 Fix typo in cvtFast.c
Probably only affects MEDM
2017-09-19 16:38:27 -05:00
Michael Davidsaver
c036fd056b missing test files 2017-09-15 17:10:04 -05:00
Michael Davidsaver
522c2e562e libCom/test: epicsThreadTest cleanup 2017-09-15 17:06:03 -05:00
Michael Davidsaver
90359d87ba quiet win32 warnings 2017-09-15 17:05:46 -05:00
Andrew Johnson
1fe3e9e772 Add dummy putValue methods to const link types
Includes a new softTest program to detect regressions.
Resolves http://www.aps.anl.gov/epics/core-talk/2017/msg00503.php
2017-09-07 13:48:39 -05:00
Andrew Johnson
736b81e044 Merge changes from 3.15 branch
Includes separate fix for alarm severity regression.
2017-09-02 23:52:22 -05:00
Andrew Johnson
2e4634853c Don't inherit alarm severity from self-referential links
This behavior was present in 3.14 and got lost in my link changes.
Includes a new regression test to detect the broken behavior.
2017-09-02 23:35:07 -05:00
Michael Davidsaver
0205dcc61f Merge branch '3.15'
* 3.15:
  rsrv: fix recv() error handling on WIN32
  rsrv: export CASDEBUG to iocsh
  rsrv: flush any queued messages before forced disconnect
  rsrv: locking in cas_send_bs_msg()
  rsrv: missing send lock around send_err()
  rsrv: drop un-commited VERSION message
  rsrv: add some comments
  rsrv: avoid possible overflow in vsend_err()
  Use static strings for epicsInterruptContextMessage()

# Conflicts:
#	src/ioc/rsrv/camessage.c
2017-08-01 17:20:21 +02:00
Michael Davidsaver
111cac8e47 merge 3.14 2017-08-01 17:14:34 +02:00
Michael Davidsaver
5c8e5c52ef rsrv: fix recv() error handling on WIN32
For WIN32 osiSockIoctl_t is unsigned, so

> osiSockIoctl_t nchars = recv(...

is casting signed -> unsigned which treats
errors as success.
2017-08-01 17:02:41 +02:00
Michael Davidsaver
546df1c1f0 rsrv: export CASDEBUG to iocsh 2017-08-01 17:02:41 +02:00
Michael Davidsaver
603331e7a5 rsrv: flush any queued messages before forced disconnect
Avoid loss of various ERROR messages which camessage()
has queued.
2017-08-01 16:44:48 +02:00
Michael Davidsaver
4b272cc0cf rsrv: locking in cas_send_bs_msg()
Must lock around "pclient->send.stk = 0u;"
2017-08-01 16:44:48 +02:00
Michael Davidsaver
619a99bf99 rsrv: missing send lock around send_err() 2017-08-01 16:44:48 +02:00
Michael Davidsaver
1f8cb740f1 rsrv: drop un-commited VERSION message
This is a no-op as cas_commit_msg() isn't called.
A VERSION message is already queued during create_tcp_client().
2017-08-01 16:44:29 +02:00
Michael Davidsaver
322f7a97de rsrv: add some comments 2017-08-01 16:44:29 +02:00
Michael Davidsaver
0fc770166c rsrv: avoid possible overflow in vsend_err()
Accounting of message size doesn't take into account
space used by header of failed message (16 or 24 bytes).
This would allow a theoretical really long error message
to overflow the send buffer by 16 or 24 bytes.
2017-08-01 16:44:08 +02:00
Michael Davidsaver
296fb35a5c db_cleanup_events handle 0 2017-07-28 11:18:56 +02:00
Michael Davidsaver
d2fad17be7 rsrv: fix large array expansion
Causes a crash when a larger buffer is made even larger.
Previous buffer not being free'd correctly.
2017-07-26 17:58:01 +02:00
Andrew Johnson
1a70855e25 Use static strings for epicsInterruptContextMessage()
The callbackRequest() routine was passing a stack-allocated
string to epicsInterruptContextMessage() but on RTEMS the
pointer is queued without copying the string. This fix uses
static strings for the 3 messages instead.

Fixes LP: #1705219
2017-07-24 11:19:20 -05:00
Andrew Johnson
306a53503a Add no-strict-aliasing compiler flags to gdd & pcas 2017-07-05 17:02:28 -05:00
Andrew Johnson
db3e79e4b7 Merged changes from 3.15 branch into 3.16 2017-06-22 19:00:51 -05:00
Andrew Johnson
fb9e55a76e Fix scalar link initialization from hex constants
Partially fixes LP: #1699445
Includes regression tests, with TODO for arrays which are still broken
and need a full JSON5 parser to fix.
2017-06-22 18:45:10 -05:00
Andrew Johnson
745109e423 Add loop detection to Release.pm
GNUmake will *usually* spot recursive "include" loops first, but
not if the loop is in another module that we're just checking.
In that case Release.pm eats file descriptors until they run out
without this fix.
2017-06-22 18:38:07 -05:00
Andrew Johnson
b9d2712738 Argh!!! 2017-06-22 17:07:56 -05:00
Andrew Johnson
a69bd833fc More msi.plt retries for Jenkins builds on Windows 2017-06-22 16:45:00 -05:00
Andrew Johnson
9d4a90ac34 Fix link initialization from hex constants
Fixes LP: #1699445
Includes regression tests (some of which will fail on 3.16)
2017-06-22 14:29:04 -05:00
Andrew Johnson
cc0dacedb5 Merge changes from 3.15 branch into 3.16 2017-06-20 15:54:35 -05:00
Andrew Johnson
83cb50574a Merge bug-fix from 3.14 branch into 3.15 2017-06-20 15:50:49 -05:00
Andrew Johnson
6b5e7da4fd catools: dbr_long_t is only 32 bits wide
Don't print it as a native long.
Fixes LP: #1699332
2017-06-20 15:49:41 -05:00
Andrew Johnson
69d530f1db Cross-build fix for generated .t files
The *target* OS should determine whether to use system or exec.
2017-06-16 15:37:55 -05:00
Andrew Johnson
411a60c32d Add missing link libraries 2017-06-16 12:44:10 -05:00
Andrew Johnson
79fe79ad56 Merged changes from 3.15 branch into 3.16 2017-06-14 14:55:53 -05:00
Andrew Johnson
105e831442 Merge changes from 3.14 branch into 3.15 2017-06-14 10:17:31 -05:00
Andrew Johnson
2819d7ea3d Posix epicsEventWaitWithTimeout() max delay
Limit timeouts on Posix to max-out at 10 years.
Adds a test that will fail when that time-out hits Y2038 on
systems where time_t is still a 32-bit integer.
2017-06-14 10:01:23 -05:00
Andrew Johnson
f464274439 Remove declarations of previously-deleted functions
Fixes LP: #1696801
2017-06-12 18:15:12 -05:00
Andrew Johnson
6ef995525a Restore the use of DBL_MAX in timerQueue.cpp 2017-06-09 13:44:30 -05:00
Andrew Johnson
18dee384ec Fix tv_sec casts to use time_t, not long 2017-06-09 12:20:16 -05:00
Andrew Johnson
b369aa67f1 Use 1000 years as 'forever' in timers
DBL_MAX causes problems...
2017-06-08 21:55:12 -05:00
Andrew Johnson
085fab4aed Merge 3.14 branch into 3.15 2017-06-08 09:55:05 -04:00
Andrew Johnson
c853234e01 Remove artificial 60-minute timeout limit (Posix) 2017-06-08 09:53:07 -04:00