Merge lp://staging/~epics-core/epics-base/test-rtems-w-qemu into lp://staging/~epics-core/epics-base/3.16

Proposed by mdavidsaver
Status: Work in progress
Proposed branch: lp://staging/~epics-core/epics-base/test-rtems-w-qemu
Merge into: lp://staging/~epics-core/epics-base/3.16
Diff against target: 566 lines (+337/-6)
16 files modified
configure/RULES_BUILD (+1/-1)
src/ioc/db/test/Makefile (+8/-0)
src/ioc/db/test/dbStressLock.c (+5/-0)
src/libCom/RTEMS/Makefile (+2/-0)
src/libCom/RTEMS/epicsMemFs.c (+110/-0)
src/libCom/RTEMS/epicsMemFs.h (+24/-0)
src/libCom/RTEMS/epicsRtemsInitHooks.h (+2/-0)
src/libCom/RTEMS/rtems_init.c (+30/-1)
src/libCom/misc/testMain.h (+7/-1)
src/libCom/test/Makefile (+11/-0)
src/libCom/test/rtemsTestData.c (+6/-0)
src/std/filters/test/Makefile (+9/-0)
src/std/rec/test/Makefile (+9/-0)
src/tools/Makefile (+1/-0)
src/tools/epicsMakeMemFs.pl (+83/-0)
src/tools/makeTestfile.pl (+29/-3)
To merge this branch: bzr merge lp://staging/~epics-core/epics-base/test-rtems-w-qemu
Reviewer Review Type Date Requested Status
EPICS Core Developers Pending
Review via email: mp+286116@code.staging.launchpad.net

Description of the change

Enable easy execution of RTEMS-pc386 test harnesses with QEMU (and windows on *nix w/ WINE).

Avoid the usual problem of NIC support (and the rtems 4.10 tftp bug) by including test data file in the test executables. Test files are encoded as C source using a script. Files are extracted into memory on boot.

For RTEMS build both the combined test harness and individual test executables.

Teach makeTestfile.pl to generate .t files which call qemu or wine based on T_A and EPICS_HOST_ARCH.

Includes some additions to rtems_init.c to allow conditional bypass of NFS mounting.

To post a comment you must log in.
Revision history for this message
mdavidsaver (mdavidsaver) wrote :

I don't consider this a priority for 3.16.0.1. I'm publishing this now because it's handy to be able to 'make runtests' for rtems and windows cross targets.

12719. By mdavidsaver

db/test: dbStressLock skip for RTEMS

This test assumes that several threads with
equal priority will all run eventually.
This isn't turn an UP target without
time sliced scheduling.

12720. By mdavidsaver

rec/test: rtems build self contained tests and run individually

12721. By mdavidsaver

rec/test: add missing TESTFILES

12722. By mdavidsaver

rec/test: asTest fixup rtems test harness

Since this test has device support it must appear in a
DLL for windows dynamic builds.
However, the rRDD function is in the executable,
and not accessible here. So use iocsh.
For rtems/vxworks the test harness clears
iocsh registrations, so iocsh can't work here.

Revision history for this message
Andrew Johnson (anj) wrote :

Uses weak symbols -- issue with uC5282 BSP target, which is 68K family.

Revision history for this message
Andrew Johnson (anj) wrote :

Cancel that, the .o files for uC5282 are ELF.

Revision history for this message
mdavidsaver (mdavidsaver) wrote :

There is additional work on https://github.com/mdavidsaver/epics-base/tree/rtemstest which still needs to migrate to LP. I also need to see how this fits with work by Heinz on more recent rtems versions.

Unmerged revisions

12722. By mdavidsaver

rec/test: asTest fixup rtems test harness

Since this test has device support it must appear in a
DLL for windows dynamic builds.
However, the rRDD function is in the executable,
and not accessible here. So use iocsh.
For rtems/vxworks the test harness clears
iocsh registrations, so iocsh can't work here.

12721. By mdavidsaver

rec/test: add missing TESTFILES

12720. By mdavidsaver

rec/test: rtems build self contained tests and run individually

12719. By mdavidsaver

db/test: dbStressLock skip for RTEMS

This test assumes that several threads with
equal priority will all run eventually.
This isn't turn an UP target without
time sliced scheduling.

12718. By mdavidsaver

libCom/test: only run epicsUnitTest for host arch

custom .plt won't use WINE or QEMU when necessary.

12717. By mdavidsaver

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

12716. By mdavidsaver

RTEMS: build self contained test harness

Test data stub as a separate file to allow
linking into test harness and individual tests.

12715. By mdavidsaver

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.

12714. By mdavidsaver

src/tools: teach makeTestfile about WINE and QEMU

Teach makeTestfile host to run test for some cross built
targets.

12713. By mdavidsaver

libCom/misc: testMain for RTEMS give weak alias for main()

Allows tests to be linked separately or in a common test harness

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches