<div dir="ltr"><div><div><div>Hi James,<br></div>Thanks for the feedback. Yes I did look into sshfs and It's a great choice for devices running Linux distributions. Unfortunately some of our devices are Android based and have no plans for Linux support. I started examining cross-compiling libfuse for Android but ran into complications there due to the very limited nature of the device's root filesystem libraries, binaries, and compiled kernel options.<br>
<br>It was much simpler cross-compiling dropbear + scp for Android which lead to the relatively simple scp patch in RunSafely.sh.<br><br></div>I will take another stab at sshfs to see if there may be a way to get it working on Android with minimal pain.<br>
<br></div><div>I'd be curious to know if others doing similar work rely mostly on NFS, SMB, sshfs or some other network filesystem to accomplish remote execution testing.<br></div><div><br></div>-Brian<br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Sat, Aug 16, 2014 at 1:29 AM, James Courtier-Dutton <span dir="ltr"><<a href="mailto:james.dutton@gmail.com" target="_blank">james.dutton@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><p>On Aug 15, 2014 10:37 PM, "Brian M. Rzycki" <<a href="mailto:brzycki@gmail.com" target="_blank">brzycki@gmail.com</a>> wrote:<br>
><br>
> Hello everyone,<br>
><br>
> I am working to run the LLVM Nightly Testsuite on embedded arm devices. Not all of these devices can mount NFS to share a common directory tree. To mitigate this I have patched test-suite/RunSafely.sh (attached) to create a temporary directory, run the test remotely, collect the output, and cleanup after itself. The patch breaks compatibility with the current remote device model in the following ways:<br>


><br>
> 1. uses scp/rcp to copy files from the host running test-suite instead of assuming an identical tree on the remote device.<br>
> 2. expects the remote device to have the mktemp command to create the temporary workspace (usually under /tmp/*)<br>
> 3. expects the remote device to have timeit installed in its path. If timeit were compiled statically I could scp the one passed into RunSafely.sh to the destination. Hosts with a different libc than the tested compiler (Android, embedded uClibc devices) cannot run the dynamically-linked timeit.<br>


> 4. It's a bit slower due to all the network copies for the entire test suite.<br>
><br>
> I'd appreciate feedback and suggestions as to how I can rework this model for inclusion upstream. I'm sure there are others out there that would find this kind of testing useful. I'm fine with a new remote-copy mode that can be passed in via lnt nt command line invocation.<br>


><br>
> I hope others find this useful.<br>
> -Brian</p>
</div></div><p>Have you tried sshfs.<br>
I does much the same as nfs mount but uses ssh instead.<br>
</p>
</blockquote></div><br></div>