Commit Graph

14729 Commits

Author SHA1 Message Date
Michael Davidsaver e23a5ae8ed defer printing for callbackTest
test*() uses printf() so don't print
any results until all results are collected.
On RTEMS/vxWorks buffering of printf() gives
long delays which skew the test results.
2012-07-06 13:35:26 -04:00
Michael Davidsaver b403dcc27f release note for dbTestHarness 2012-07-05 15:25:18 -04:00
Michael Davidsaver 93485edcd9 sync filter checking
Detect condition which would result to a double free().
2012-07-05 15:25:18 -04:00
Michael Davidsaver 0f79bdadb4 scanlock for direct record access from channel filters 2012-07-05 15:25:16 -04:00
Andrew Johnson f9bb1ef542 Fix vxWorks build issues from thread-hooks merge. 2012-07-05 13:39:00 -05:00
Ralph Lange 5f0717adea documentation: Fix typo in html tag in RELEASE_NOTES 2012-07-05 14:37:32 +02:00
Andrew Johnson a857f7a5ed Merged Ralph's thread-hooks branch.
Minor modifications to fix the vxWorks epicsThreadInit() and
rename some functions.
2012-07-04 13:28:55 -05:00
Ralph Lange 39ed8f3d02 documentation: Updated RELEASE_NOTES 2012-07-03 16:39:57 +02:00
Ralph Lange 137283ec0b libCom/osi: Add default start hook for _main_ thread 2012-07-03 15:27:50 +02:00
Ralph Lange 7b47cad8e4 libCom/osi: Clean up epicsThreadHooks API
- remove exit hooks completely
- remove non-public functions fom header files
- add test for epicsThreadMap
- fix bugs in RTEMS and vxWorks implementation of epicsThreadMap
2012-07-03 14:38:12 +02:00
Ralph Lange e834832cda libCom/osi: Don't decorate epicsThreadHook functions with epicsShareAPI 2012-07-03 13:20:01 +02:00
Ralph Lange 0e6a01d56a libCom/osi: Streamline epicsThreadShowInfo functions between implementations
- epicsThreadShowInfo: private function to print headers or task line,
  not in header file, using internal pointer type
2012-07-03 11:16:09 +02:00
Michael Davidsaver f1c0458adc dbEvent: use filtered field log on post event queue 2012-07-02 18:00:55 -04:00
Michael Davidsaver b5c6c78c85 Make dbChannel access functions into macros 2012-07-02 18:00:55 -04:00
Michael Davidsaver 2d64b06cf4 doc chPostEventFunc 2012-07-02 18:00:53 -04:00
Ralph Lange 7c27c7c56d documentation: Add epicsThreadHooks info to RELEASE NOTES 2012-07-02 18:31:08 +02:00
Ralph Lange da91893ec2 libCom/test: Add test for epicsThreadHooks 2012-07-02 18:18:54 +02:00
Andrew Johnson 9fe5ce82d3 Merged the db-test branch.
Also made additional changes:
* Simplified xRecord.c so it can run on vxWorks.
* Standard way to load DBD and DB files in tests

All test harnesses now run on vxWorks (but some tests still fail).
2012-07-02 11:03:55 -05:00
Ralph Lange 37e490d1b2 libCom/osi: Make vxWorks implementation of epicsThreadMap() safe and dynamic 2012-07-02 14:21:39 +02:00
Ralph Lange cfd8c0abde libCom/osi: Fix nesting for epicsThreadHooks, add WIN32 implementation, lock traversal
- call (generic) exit hook after calling the (specific) epicsExitCallAtThreadExits()
- for start hooks added as 1-2-3, run exit hooks in opposite order: 3-2-1
- add calls to hooks module to WIN32 osdThread.c
- add lock/unlock to hook list traversal
2012-07-02 11:31:01 +02:00
Andrew Johnson da9982f875 libCom: Fix unsigned overflow limits in epicsParse*
The strtoul() routine accepts negative numbers.  This fix
ensures we handle them properly, and adds suitable tests.

Also fix the test for 1e300, in case the compiler gives a
slightly different literal constant than strtod() returns.
2012-06-30 15:34:29 -05:00
Michael Davidsaver 7d51031d60 RTEMS test harness show run directory 2012-06-29 17:02:25 -04:00
Michael Davidsaver 788d5a1ca1 minor 2012-06-29 17:02:25 -04:00
Michael Davidsaver d6bda6fb3a arrTest cleanup on exit
Do test db cleanup after hooks registered by iocInit
2012-06-29 17:02:25 -04:00
Michael Davidsaver b5c223f462 fix tsTest 2012-06-29 17:02:24 -04:00
Michael Davidsaver f5bad40474 sync needs to free held events
The sync plugin may hold an update internally.
If this is done then it must be free'd when
the dbChannel is closed.
2012-06-29 17:02:24 -04:00
Michael Davidsaver 60b684a4dc update dbndTest 2012-06-29 17:02:24 -04:00
Michael Davidsaver d2b0e92001 db_close_events cleanup
Move cleanup from event thread to caller.
This handles cases (unit tests) where the task
is never started.

The pexitsem flag serves as the indicatior that
the event task was started.
2012-06-29 17:02:23 -04:00
Michael Davidsaver 46fb21c880 dbnd must free dropped events 2012-06-29 17:02:22 -04:00
Michael Davidsaver a103a2434a dbEvent don't queue dropped events 2012-06-29 17:02:22 -04:00
Michael Davidsaver e6ae903f2c notes on db_field_log usage 2012-06-29 17:02:22 -04:00
Michael Davidsaver aa17f317f8 define more of probe field log
plugins don't need to inspect more than
field_type, field_size, and no_elements.
In case they do define type=val to prevent
accidental use of uninitialized pointer.
2012-06-29 17:02:20 -04:00
Andrew Johnson fb61234431 Change the epicsParse APIs to return a units pointer.
This lets us use epicsParseDouble() for scan rate parsing.

Ensure the scanOnce thread is a higher priority than the fastest
periodic scan thread, irrespective of how many threads there are.
2012-06-29 14:41:35 -05:00
Ralph Lange d6648d4473 libCom/osi: Add some copyrights for ITER 2012-06-29 18:12:07 +02:00
Ralph Lange 8c323b2197 libCom/osi: Add epicsThreadMap (calls user function for each thread) 2012-06-29 17:54:38 +02:00
Andrew Johnson bde52418b9 Various fixes for vxWorks
Provide a separate dbd file for each test.
Don't require a writable filesystem.
Simplfy xRecord.c again.
2012-06-29 10:09:56 -05:00
Ralph Lange 1f5376b30b libCom/osi: Add RTEMS and vxWorks implementation for epicsThreadHooks 2012-06-29 14:49:24 +02:00
Ralph Lange 7e9f048433 Add decorations to epicsThreadHooks.c 2012-06-29 11:22:48 +02:00
Ralph Lange 803777329c Cleanup of epicsThread hooks
- move declarations to epicsThread.h, use epicsThreadId type
- use static elllist initializer for static lists
2012-06-29 11:15:47 +02:00
Michael Davidsaver 2fd6004827 forgot to remove TODO 2012-06-28 13:57:24 -04:00
Michael Davidsaver 4986c184c7 cleanup for dbRegisterFilter() 2012-06-28 13:44:33 -04:00
Ralph Lange 222ea314b0 Add thread hooks to epicsThread that are called when a thread starts or exits
- add Linux implementation that
  + sets the system command name to the EPICS thread name
  + retrieves the Linux LWP ID and prints it instead of the posix thread ID
    in show commands
2012-06-28 18:12:26 +02:00
Michael Davidsaver 683093222a integer type should be epicsInt32
Can't use long for this on 64-bit systems
2012-06-28 10:55:49 -04:00
Michael Davidsaver 61b285a5e3 booleans are stored as char not int 2012-06-28 10:55:48 -04:00
Michael Davidsaver 4a393a428d fix examples in chfPlugin.h 2012-06-28 10:55:47 -04:00
Michael Davidsaver 8eedb09395 chfPluginTest: more verbose error messages 2012-06-28 10:55:47 -04:00
Michael Davidsaver 4a6216534c rtems test harness setup to create temp files
Apparently the default location for tmp files
doesn't exist in the default IMFS tree.
2012-06-28 10:55:46 -04:00
Michael Davidsaver 39ccbeeb11 Make db unit tests self contained 2012-06-28 10:55:46 -04:00
Michael Davidsaver 026307c06d db cleanup
cleanup to allow database re-load
2012-06-28 10:55:44 -04:00
Andrew Johnson 4eb31d7edc Fix dbScan bug, add scan period units and checking. 2012-06-27 16:43:15 -05:00