This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: make tests process failures using cross-test-ssh


On Thu, 2016-02-11 at 00:32 +0000, Joseph Myers wrote:
> On Wed, 10 Feb 2016, Steve Ellcey wrote:
> 
> > > Try making the mounts use acdirmax=0,acdirmin=0 (I'm not sure why that 
> > > should help with the precise symptoms you mention, but I've known it to 
> > > help with some NFS coherency issues in testing in the past).  (I'm 
> > > assuming that the NFS file server is the system on which you're running 
> > > "make check"; both systems using NFS from a third system may have other 
> > > problems.)
> > 
> > I am using NFS from a third system on both the host and target machines.
> 
> I think that's very hard to make reliable, though setting NFS mount 
> options on *both* systems to disable as much caching as possible (starting 
> with acdirmax=0,acdirmin=0) may help.

I think the best way to make this more reliable is to do as much work as
possible when running a test on a single machine (either the host or the
target).  So for instance, in localedata/gen-locale.sh we have:

generate_locale ()
{
  charmap=$1
  input=$2
  out=$3
  if ${localedef_before_env} ${run_program_env} I18NPATH=../localedata \
     ${localedef_after_env} --quiet -c -f $charmap -i $input \
                            ${common_objpfx}localedata/$out
  then
    # The makefile checks the timestamp of the LC_CTYPE file,
    # but localedef won't have touched it if it was able to
    # hard-link it to an existing file.
    touch ${common_objpfx}localedata/$out/LC_CTYPE
  else
    echo "Charmap: \"${charmap}\" Inputfile: \"${input}\"" \
         "Outputdir: \"${out}\" failed"
    exit 1
  fi
}

If I understand things correctly the if statement is running 'locale'
on the target machine but the touch is being done on the host machine.

I would like to change this so that the touch is also done on the target
machine but I am not sure what macros I should use to in order to have
cross-test-ssh.sh run touch.

Likewise in gen-locales.mk I think I want the $(evaluate-test) part of
the command to be run on the target machine instead of the host machine
since the gen-locale.sh did all its real work on the target machine.

I think that with these two changes I can 'make tests' even with my
current NFS setup.  But I can't seem to find the right magic to use
${run_program_env} or whatever I should be using to do the commands
remotely.

Steve Ellcey
sellcey@imgtec.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]