octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[octave-forge] (parallel) request help for testing at Windows


From: Olaf Till
Subject: [octave-forge] (parallel) request help for testing at Windows
Date: Sat, 23 Nov 2019 14:14:48 +0100
User-agent: NeoMutt/20170113 (1.7.2)

Hi,

while re-structuring the parallel package to not work with forked
children of Octave sessions, I tried to make the local and client part
of the package compatible with Windows. (The server part will not be
built at windows.)

Currently the infrastructure for the new code is in place and
everything which is critical for Windows compatibility should be
done. Preliminary tests pass at current Octave versions at
GNU/Linux. The package cross-compiled successfully for mingw at
mxe-octave.

Could somebody run the tests described below at Windows? (Tests at
other non-GNU OSs are welcome, too, of course.) Since building at
Windows may need a package with pre-built docs, I uploaded one at:

https://sourceforge.net/p/octave/package-releases/393/

md5sum:
17bb3531634d6d40d0c09930d1c01165  parallel-3.1.3.tar.gz

It is from changeset a7efbe08499a.

Warning: Use a new Octave session and close it afterwards, i.e don't
use the same Octave session for something you need. Apart from
unforeseen crashes, the preliminary test function isn't crash-proof if
given the wrong arguments.

Requested test (for local parallel execution):

    'pkg load' the package and:

    test ("path\to\sourcefile\__test_rfeval__.cc")

Thanks in advance, if you come so far.

Olaf


PS:

For testing remote execution, the effort is by far greater. If someone
should nevertheless be willing to undertake it: The package must be
built and installed at two different machines, one with GNU/Linux, for
the server, and one with Windows (or another non-GNU OS), to test the
client functions.

    If you can't exclude unauthorized access to the server at ports
    12501 and 12502 (e.g. by a firewall, maybe in a separate router),
    you should only test with authenticated connections (really!).

    Authentication keys can be generated from the Octave prompt with
    'parallel_generate_srp_data ("arbitrary_user_name")', hitting
    ENTER when requested for a password. The resulting files should be
    placed at the server as described in the helptext of
    'parallel_generate_srp_data'.

    At the server machine, make sure that 'pkg load parallel' is
    called automatically at Octave startup. Then from the shell
    (substitute PREFIX twice):

    /PREFIX/share/octave/packages/parallel-3.1.3/bin/octave-pserver 
--octave-binary=/PREFIX/bin/octave-cli

    You may have to hit ENTER to see the next shell prompt. There is
    not yet away to kill the server except from the shell with 'kill
    <pid>'. You can get the pid with 'ps ax | grep pserver', e.g..

    At the client machine (Windows), start Octave, 'pkg load' the
    parallel package, and test the following (note the "{" and "}"):

    conn = pconnect ({"name.or.ip-address.of.servermachine"})
    assert (rfeval (@ (x) x, [3, 4, 5], 1, [], conn(2)), {[3, 4, 5]})
    sclose (conn)

    Kill the 'octave-pserver' at the server machine.

    If you are able to also test unauthorized connections (see warning
    above), at the server machine, after killing any running
    'octave-pserver', start a new one as described above, but with the
    additional option '--no-auth', i.e., from the shell:

    /PREFIX/share/octave/packages/parallel-3.1.3/bin/octave-pserver 
--octave-binary=/PREFIX/bin/octave-cli --no-auth

    At the client machine, the command for connecting is now:

    conn = pconnect ({"name.or.ip-address.of.servermachine"}, struct 
("use_tls", false))

    The rest is the same as with authentication.

    Olaf

-- 
public key id EAFE0591, e.g. on x-hkp://pool.sks-keyservers.net

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]