EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: How to "tweak" tests?
From: Ben Franksen via Core-talk <core-talk at aps.anl.gov>
To: EPICS Core Talk <core-talk at aps.anl.gov>
Date: Sun, 27 Dec 2020 12:24:50 +0100
Am 23.11.20 um 12:05 schrieb Ralph Lange via Core-talk:
> On Mon, 23 Nov 2020 at 11:37, Zimoch Dirk (PSI) via Core-talk <
> core-talk at aps.anl.gov> wrote:
> 
>> One of my colleagues (Till Straumann) has implemented a modification of
>> EPICS mutexes (posix) to support priority inversion safety. (Originally for
>> 3.14.12 but I have ported the change to EPICS 7 now). But there are two
>> problems with the tests.
>> 1. For backward compatibility reasons, the change depends on an
>> environment variable which must be set before libCom is loaded. How to do
>> that for the test? In MAIN, it is too late. Doing it on the command line
>> does not seem to work well for ci.
>> 2. The fix depends on SCHED_FIFO which can only be set with sufficient
>> permissions. Thus, the test only succeeds as root and fails otherwise.
>>
>> How to handle this? Is there a method to set environment variables before
>> a specific test is run? (I could for course fork a new process but that
>> seems rather clumsy). Is isforseen to run tests as root (only)?
> 
> 
> Running tests under SCHED_FIFO would be a good achievement by itself.
> 
> Most CI services grant sudo rights on the runners (usually we're installing
> dependencies as packages). All services supported by ci-scripts
> <https://github.com/epics-base/ci-scripts> do; ci-scripts also allows to
> set environment variables for the jobs.
> In case you need changes in ci-scripts to do this properly and nicely, I'd
> be happy to help and/or accept PRs.

If you don't want to run as root, you could play with setpriv(1). From
capabilities(7) I gather that modifying the scheduling is covered by
CAP_SYS_NICE. Don't ask me about inheritable, ambient or bounding sets
though, I can't claim to understand the difference.

Cheers
Ben
-- 
Niemand hat das Recht zu gehorchen. -- Hannah Arendt

Attachment: signature.asc
Description: OpenPGP digital signature


References:
How to "tweek" tests? Zimoch Dirk (PSI) via Core-talk
Re: How to "tweak" tests? Ralph Lange via Core-talk

Navigate by Date:
Prev: Re: Appveyor Settings for the 3.15 (and 7.0) branch builds Ralph Lange via Core-talk
Next: Jenkins build is back to stable : epics-base-3.15-test #212 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: How to "tweak" tests? Ralph Lange via Core-talk
Next: [Merge] ~dirk.zimoch/epics-base:epicsMutexPriorityInheritance into epics-base:7.0 Dirk Zimoch via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 28 Dec 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·