Commit Graph

15047 Commits

Author SHA1 Message Date
Martin Konrad
bbc0a56d2b Fix wrong PHAS order
Records with lower PHAS value than any previously loaded records
were inserted at the end of the list rather than at the beginning.
This fixes lp: #1899697. Also fixes a proto-bug in that the second
argument to the previously used ellAdd() call assumed that
offsetof(scan_element, node)==0.

Thanks to Bruno Martins for providing this patch.
2020-10-13 18:34:39 -04:00
Andrew Johnson
ad3728d00d Edits to the Record Ref index page 2020-08-21 15:43:48 -05:00
Ralph Lange
bf7a1605c6 Name generated junitfiles '<testname>-results.xml'
- following an idea by Freddie Akeroyd,
  to allow better distinction from other xml files
2020-06-23 13:47:33 +02:00
Ralph Lange
0fbfc74182 Fix missing deletion in 97b29129 from 'fix/misc'
- fixes 97b29129 that was replacing two assert() statements
  without removing the original (offending) lines
2020-06-23 11:23:57 +02:00
Ralph Lange
b248023eb2 Merge Ralph's 'fix/misc' branch into 3.15
(closes #77)
2020-06-10 18:39:22 +02:00
Ralph Lange
92374b2be2 libcom/osi: fix potential leak in vxWorks/osdThread.c
(found by sonar/cppcheck)
2020-06-10 14:26:40 +02:00
Ralph Lange
579fc9d0c7 libcom/osi: fix potential leak in default/osdThreadHooks.c
(found by sonar/cppcheck)
2020-06-10 14:26:40 +02:00
Ralph Lange
cd47bbf99b libcom/osi: fix debug printf() in default/osdNetIntf.c
(found by sonar/cppcheck)
2020-06-10 14:26:40 +02:00
Ralph Lange
d3d40689c8 libcom/osi: fix dangerous usage of strncat (WIN32)
(found by sonar/cppcheck)
2020-06-10 14:26:40 +02:00
Ralph Lange
d5eb055bb7 libcom/flex: fix sscanf() argument types
(code smell found by sonar/cppcheck)
2020-06-10 14:26:40 +02:00
Ralph Lange
97b29129af libcom/test: don't modify operand in assert() statement
(code smell found by sonar/cppcheck)
2020-06-10 14:26:40 +02:00
Ralph Lange
801710b8c7 db: fix possible null pointer dereference
(found by sonar/cppcheck)
2020-06-10 14:26:40 +02:00
Ralph Lange
30f5c3b301 db: fix incomplete initialization in dbChannelOpen()
(found by sonar/cppcheck)
2020-06-10 14:26:40 +02:00
Ralph Lange
69d4c238e7 ca/tools: free() all allocated buffers
(found by sonar/cppcheck)
2020-06-09 15:52:14 +02:00
Ralph Lange
7d1ff1411f ca/tools: fix type errors in option parsing
(found by sonar/cppcheck)
2020-06-09 15:51:35 +02:00
Ralph Lange
f0e143b907 ca/client: fix possible null pointer dereference
(found by sonar/cppcheck)
2020-06-09 15:48:33 +02:00
Andrew Johnson
e923790c41 Update versions after tagging 2020-05-15 13:55:29 -05:00
Andrew Johnson
c7e42fab3c Set version number to 3.15.8, clear snapshot R3.15.8 2020-05-15 12:00:23 -05:00
Andrew Johnson
2f28ce94f4 Release Notes changes for 3.15.8 2020-05-15 11:36:45 -05:00
Andrew Johnson
732f8b19be Merge branch 'defaultMessageQueue' into 3.15 2020-05-14 10:41:52 -05:00
Andrew Johnson
b03e2f376b eMQTest: Start each test with a new (empty) queue
If fastReceiver() took more than 0.01 seconds to exit,
sleepySender() might have pushed a second message onto
the queue after setting recvExit, so there would be an
extra message in the queue for the next test, which I
was seeing on Appveyor. That's my current theory...
2020-05-13 16:11:31 -05:00
Andrew Johnson
59c68807b6 Heinz Junkes' fix for lp: #1812084 Build failure on RTEMS
I reduced some of the code duplication from his original.
2020-05-13 15:26:34 -05:00
Andrew Johnson
2e7ed02a60 Allow/expect MinGW to fail epicsStackTraceTest #5 2020-05-07 13:13:26 -05:00
Andrew Johnson
089954aaab MessageQueue Tests: Extend Mark's sleep tests 2020-05-07 13:12:12 -05:00
Andrew Johnson
34e0b2f305 osdMessageQueue: Undo change to -ve timeout handling
The internal mySend() and myReceive() routines do expect a timeout
of -1 to mean wait forever, see the epicsMessageQueueSend() and
epicsMessageQueueReceive() API routines.
2020-05-04 11:56:14 -05:00
Andrew Johnson
ceb13797a6 Cosmetic 2020-05-01 00:13:02 -05:00
Andrew Johnson
084557bd3e osdMessageQueue: Don't wake our sender until we're ready for it
Move the code that wakes up the next sending task to after we've
added our threadNode to the receiveQueue. He still has to wait for
us to release the Mutex though, so this might make no difference.
This commit also changes when we decrement the number of waiting
senders so it always happens immediately after a threadNode gets
taken off the sendQueue by the code that removed it.
2020-05-01 00:12:32 -05:00
Andrew Johnson
aeed7cfbdd osdMessageQueue: This is the mirror of Heinz Junkes' earlier fix
When sending a message, if the queue is full so we have to wait, we
create a threadNode with an eventNode in it and stick it on the
sendQueue, then wait for a receiver to signal that event, waking us.
If we awoke due to a timeout but a receiver was actually waking us
up anyway (i.e. eventSent was set), we shouldn't give up.
2020-04-30 23:55:30 -05:00
Andrew Johnson
183c3b2a3e osdMessageQueue: Clear eventNode before returning it
Introduced freeEventNode() which ensures eventNodes don't have a
signalled event in them before returning the node to the freeList.
Callers pass the status from epicsEventWaitWithTimeout() to indicate
whether it was signalled or not. If it timed out we must trigger it
and Wait to clear the event state.
2020-04-30 23:38:51 -05:00
Andrew Johnson
cf2fef2405 osdMessageQueue: Return sooner on -ve timeout
It appears that previously a negative timeout actually implemented a
'wait forever', but the VxWorks and RTEMS implementations both check
for (timeout <= 0) and return immediately if nothing can be done
without waiting.
2020-04-30 23:27:43 -05:00
Andrew Johnson
298c8706ec osdMessageQueue: Rename freeEventNode() -> destroyEventNode() 2020-04-30 22:59:58 -05:00
Ralph Lange
49de2ec498 Merge ralph@gh:use-ci-scripts-3.15 into 3.15 2020-04-27 12:10:24 +02:00
Ralph Lange
0aa6e9603b Update .ci submodule to v2.3.3
- fix appveyor issue when building base
- fix RTEMS cross build for Base 3.15
- run tests using parallel make
2020-04-27 11:59:57 +02:00
Andrew Johnson
314e09d8ca Build system release notes 2020-04-24 16:44:49 -05:00
Ralph Lange
076175386f ci: remove old integration in .ci-local 2020-04-24 19:27:05 +02:00
Ralph Lange
f40d379485 appveyor: update .appveyor.yml for ci-scripts 2020-04-24 19:27:05 +02:00
Ralph Lange
445cbb8221 travis-ci: update .travis.yml for ci-scripts
- use more EXTRAs on MacOS for make args
2020-04-24 19:27:05 +02:00
Ralph Lange
a9c8d8d5d3 Add ci-scripts v2.3.2 (submodule in .ci) 2020-04-24 15:11:32 +02:00
Ralph Lange
1ff64f72a9 ci: move ci -> .ci-local
also rename appveyor.yml -> .appveyor.yml
2020-04-23 16:00:53 +02:00
Ralph Lange
f10d0d95b0 Apply perl rules for .tap and .xml only to perl tests
Don't apply the %.tap: %.t and %.xml: %.tap rules to tap and junit
result files from other test frameworks.
(They would overwrite the other frameworks' own rules.)
2020-04-21 11:45:50 +02:00
Andrew Johnson
dfbda1394d Revert the runtests:: change but in an extensible way
Use only %.t files in new TESTSCRIPTS.t var for Perl tests.
TAPFILES and JUNITFILES can be appended to by other rules.
The runtests and test-results rules have no direct recipes.
Added run-tap-tests and tap-results rules, simlified recipe.
Make %.tap:%.t and %.xml:%.tap into static pattern rules.
2020-04-21 01:39:59 -05:00
Andrew Johnson
d05d8807ec Stop generating the testspec file
It was created before modern continuous integration systems
came along; Diamond were supposed to run the tests for us,
but they didn't last for very long.
2020-04-21 01:17:48 -05:00
Andrew Johnson
582a9dbef5 Replace pre-make rule with before-actions rules
For all standard build ACTIONS, a rule before-<action> is
run just before running that action in the subdirectories
given by the DIRS variable. Only works in Makefiles that
include RULES_DIRS or RULES_TOP.
2020-04-21 01:14:03 -05:00
Andrew Johnson
b655662131 Appveyor: Move 'make test-results' to the on_finish stage 2020-04-20 11:33:37 -05:00
Andrew Johnson
be061e1084 Tidy up testFailures script slighlty 2020-04-20 11:31:45 -05:00
Andrew Johnson
91c18c32d4 Have Appveyor make 'tapfiles test-results' instead of 'runtests' 2020-04-18 00:36:35 -05:00
Andrew Johnson
3790ce4452 Have 'make test-results' fail nicely if any tests did
Lists the directories with failed tests at the end of the build.
It is no longer necessary to use 'make -k' to see the results
of all tests after one or more failures as only the top-level
test-results recipe will generate a build error.
2020-04-18 00:18:11 -05:00
Andrew Johnson
566ab038d2 Make test-results not fail so it shows all results
For some reason 'make -k test-results' isn't always doing
the -k (continue-on-error) on Windows.
2020-04-17 16:51:48 -05:00
Andrew Johnson
648589e6ab podToHtml: Add bootstrap search path for EPICS::PodHtml 2020-04-17 16:42:18 -05:00
Andrew Johnson
841effe9ee epicsMessageQueueTest: Shorten the 1R4S tests 2020-04-16 17:14:58 -05:00