On 02/28/2014 10:15 PM, Seth Arnold wrote: > Hello, > > The Ubuntu QRT tests for AppArmor 2.8.95 are failing when running the > 'upstream' regression tests: > > ... > running access > Fatal Error (): AppArmor parser > '/tmp/testlibXaSBb9/source/trusty/apparmor-2.8.95~2402/tests/regression/apparmor/../../../parser/apparmor_parser' > is not executable > ... > > This is becuse the uservars.inc file that defined the location of the > AppArmor parser hasn't yet been modified to use the USE_SYSTEM environment > variable to select between the system parser or a parser built in the > source tree. > > (Note that the message -feels- like a missing library symbol or binary > format handler, but it's really just a message from prologue.inc when the > pathname fails the if -x test -- in this case, the file doesn't even exist. > We can probably improve this error message too.) > yep
> So, this patch makes two uservars.inc.* files, modifies the Makefile to > copy the correct one in place, and has 'make clean' delete it again. This > should allow local modifications to the uservars.inc file to persist, but > won't handle repeated "make clean all tests" with a non-standard parser. > > I'm not thrilled with this patch but it seems to work. Any better ideas? > I'm not thrilled with this either but we do need something. It has to be able to handle running the tests without the make file bash test_foo -r is used a lot when tests fail. that said I would make a few changes > Thanks > > Signed-off-by: Seth Arnold <[email protected]> > > > 0009-uservars-inc-use-system-support.patch > > > Description: Modify regression tests to use USE_SYSTEM to also select parser > Author: Seth Arnold <[email protected]> > > --- > tests/regression/apparmor/Makefile | 11 +++++++++-- > tests/regression/apparmor/uservars.inc | 14 -------------- > tests/regression/apparmor/uservars.inc.source | 14 ++++++++++++++ > tests/regression/apparmor/uservars.inc.system | 14 ++++++++++++++ > 4 files changed, 37 insertions(+), 16 deletions(-) > > Index: b/tests/regression/apparmor/Makefile > =================================================================== > --- a/tests/regression/apparmor/Makefile > +++ b/tests/regression/apparmor/Makefile > @@ -180,7 +180,14 @@ > return 1 ; \ > fi > > -all: libapparmor_check $(EXEC) changehat.h > +all: libapparmor_check $(EXEC) changehat.h uservars.inc > + > +uservars.inc: uservars.inc.source uservars.inc.system > +ifdef USE_SYSTEM > + mv uservars.inc.system uservars.inc cp not mv, I'd like this to be able to be used make than once > +else # !USE_SYSTEM > + mv uservars.inc.source uservars.inc same here > +endif # USE_SYSTEM > > changehat_pthread: changehat_pthread.c changehat.h > ${CC} ${CFLAGS} ${LDFLAGS} $< -o $@ ${LDLIBS} -pthread > @@ -236,6 +243,6 @@ > fi > > clean: > - rm -f $(EXEC) dbus_common.o > + rm -f $(EXEC) dbus_common.o uservars.inc > > regex.sh: open exec > Index: b/tests/regression/apparmor/uservars.inc.source > =================================================================== > --- /dev/null > +++ b/tests/regression/apparmor/uservars.inc.source > @@ -0,0 +1,14 @@ > +# 1. Path to apparmor parser > +subdomain=${PWD}/../../../parser/apparmor_parser > +#subdomain=/sbin/apparmor_parser > + > +# 2. additional arguments to the apparmor parser > +parser_args="-q -K" > + > +# 3. directory to be used for temp files > +# Need to be able to access this directory by the root and nobody users. > +tmpdir=/tmp/sdtest.$$-$RANDOM > + > + > +# 4. Location of load system profiles for verification > +sys_profiles=/sys/kernel/security/apparmor/profiles > Index: b/tests/regression/apparmor/uservars.inc.system > =================================================================== > --- /dev/null > +++ b/tests/regression/apparmor/uservars.inc.system > @@ -0,0 +1,14 @@ > +# 1. Path to apparmor parser > +#subdomain=${PWD}/../../../parser/apparmor_parser > +subdomain=/sbin/apparmor_parser > + > +# 2. additional arguments to the apparmor parser > +parser_args="-q -K" > + > +# 3. directory to be used for temp files > +# Need to be able to access this directory by the root and nobody users. > +tmpdir=/tmp/sdtest.$$-$RANDOM > + > + > +# 4. Location of load system profiles for verification > +sys_profiles=/sys/kernel/security/apparmor/profiles > Index: b/tests/regression/apparmor/uservars.inc > =================================================================== > --- a/tests/regression/apparmor/uservars.inc > +++ /dev/null > @@ -1,14 +0,0 @@ > -# 1. Path to apparmor parser > -subdomain=${PWD}/../../../parser/apparmor_parser > -#subdomain=/sbin/apparmor_parser > - > -# 2. additional arguments to the apparmor parser > -parser_args="-q -K" > - > -# 3. directory to be used for temp files > -# Need to be able to access this directory by the root and nobody users. > -tmpdir=/tmp/sdtest.$$-$RANDOM > - > - > -# 4. Location of load system profiles for verification > -sys_profiles=/sys/kernel/security/apparmor/profiles > > > > -- AppArmor mailing list [email protected] Modify settings or > unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor > -- AppArmor mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
