Hi Alex,

As we are developing patches on the branch:
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-wip-2021-02-02

Sent my patches v3 on top of this.
https://lists.openembedded.org/g/openembedded-core/message/152121

Below changes in rust.py does not make connection with the
"remote-test-server" running on qemu image.
===============================
"cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip"
runCmd(cmd)
bitbake("{} -c check".format(recipe))

Expected below line in generated summary.txt in
b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src
===============================
running: 
"/ala-lpggp31/vinay/review-3/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-too
ls-bin/remote-test-client" "spawn-emulator" "aarch64-poky-linux"
"/ala-lpggp31/vinay/review-3/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/ru
stc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-server"
"/ala-lpggp31/vinay/review-3/b1/tmp/work/cortexa57-poky-linux/rust-test
suite/1.46.0-r0/rustc-1.46.0-src/build/tmp"
Connecting to remote device 192.168.7.2:12345 ...

If we set "export TEST_DEVICE_ADDR=192.168.7.2:12345;" in do_check of
rust-testsuite.inc connection establishes with image
and the test execution is as expected.

Also, please let me know if there in other way to share/publish the source.

Regards,
Vinay

On Fri, May 21, 2021 at 2:00 AM Alexander Kanavin
<[email protected]> wrote:
>
> If you publish the code to a branch, and show exactly the errors you get, I 
> could try to look at it.
>
> Alex
>
> On Thu, 20 May 2021 at 22:29, Alexander Kanavin <[email protected]> 
> wrote:
>>
>> You cannot hardcode the ip address like that; it's set dynamically when qemu 
>> starts, and you can only access it from selftest or runtime test.
>>
>> Alex
>>
>> On Thu, 20 May 2021 at 12:06, Vinay Kumar <[email protected]> wrote:
>>>
>>> Hi Alex,
>>>
>>> Tried your suggestions to copy and run in rust.py without any issue as 
>>> below.
>>> ===============================
>>> builddir = get_bb_var("B", "rust-testsuite")
>>> ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root", timeout=600)
>>> ssh.copy_to(builddir + "/" +
>>> "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
>>> t_thread = threading.Thread(target=ssh.run,
>>> args=("~/remote-test-server -v remote",))
>>> t_thread.start()
>>> ===============================
>>>
>>> If we set "TEST_DEVICE_ADDR" in rust.py through "runCmd" as shown
>>> below,  the remote-test-client does not connect  to the image.
>>> So a lot of tests fail.
>>> ===============================
>>> "cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip"
>>> runCmd(cmd)
>>> bitbake("{} -c check".format(recipe))
>>> ===============================
>>>
>>> Also, I tried to move do_check content to rust.py without any success.
>>> ===============================
>>> cmd = "export PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/:" % builddir
>>> cmd= cmd + "%s/../recipe-sysroot-native/usr/bin:$PATH;" % builddir
>>> cmd = cmd + "export
>>> RUST_TARGET_PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/;" %
>>> builddir
>>> cmd = cmd + "cd " + builddir + ";"
>>> cmd  = "export TEST_DEVICE_ADDR=\"%s:12345\";" % qemu.ip
>>> cmd = cmd + "python3 src/bootstrap/bootstrap.py -j 40 --verbose test
>>> --no-fail-fast --bless --target aarch64-poky-linux > summary.txt 2>&1"
>>>
>>> Error:
>>> File 
>>> "/ala-lpggp31/vinay/review-2/poky-contrib/meta/lib/oeqa/utils/commands.py",
>>> line 210, in runCmd
>>> raise AssertionError("Command '%s' returned non-zero exit status
>>> %d:\n%s" % (command, result.status, exc_output))
>>> AssertionError: Command 'export
>>> TEST_DEVICE_ADDR="192.168.7.2:12345";python3
>>> src/bootstrap/bootstrap.py -j 40 --verbose test --no-fail-fast --bless
>>> --target aarch64-poky-linux > summary.txt 2>&1' returned non-zero exit
>>> status 2:
>>> ===============================
>>>
>>> So in rust.py only copy and execution of "remote-test-server" is taken care 
>>> of.
>>> And the test execution is by  do_check of rust-testsuite.inc as below,
>>> ===============================
>>> do_check () {
>>>     export TEST_DEVICE_ADDR="192.168.7.2:12345"
>>>     rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
>>> summary.txt 2> /dev/null
>>> }
>>>
>>> Let me know if this ok. will send patches with changes for review.
>>>
>>> Regards,
>>> Vinay
>>>
>>> On Mon, May 17, 2021 at 8:57 PM Vinay Kumar via lists.openembedded.org
>>> <[email protected]> wrote:
>>> >
>>> > Hi Alex,
>>> >
>>> > Tried testing outside oe-selftest framework, it works fine without any 
>>> > errors,
>>> >
>>> > export TEST_DEVICE_ADDR="192.168.7.4:12345"
>>> > rust_runx test --no-fail-fast --bless --target "aarch64-poky-linux" >
>>> > summary.txt 2> /dev/null
>>> >
>>> > Also, log (summary.txt) shows "remote-test-client" is connecting to
>>> > the image without any issue.
>>> > =======================================
>>> > running: 
>>> > "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-client"
>>> > "spawn-emulator" "aarch64-poky-linux"
>>> > "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-server"
>>> > "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/tmp"
>>> > Connecting to remote device 192.168.7.4:12345 ...
>>> >
>>> > Will integrate these changes in oe-selftest and let you know.
>>> >
>>> > Regards,
>>> > Vinay
>>> >
>>> > On Mon, May 17, 2021 at 8:11 PM Vinay Kumar <[email protected]> 
>>> > wrote:
>>> > >
>>> > > Checking suggestions, the booted image with tap seems to be working by
>>> > > passing "-monitor  telnet:127.0.0.1:1234,server,nowait"
>>> > > so I will execute testing and update you.
>>> > > ==========================
>>> > > root@qemuarm64:~# ifconfig
>>> > > eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:02
>>> > >           inet addr:192.168.7.4  Bcast:192.168.7.255  Mask:255.255.255.0
>>> > >           inet6 addr: fe80::5054:ff:fe12:3402/64 Scope:Link
>>> > >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>> > >           RX packets:116 errors:0 dropped:0 overruns:0 frame:0
>>> > >           TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
>>> > >           collisions:0 txqueuelen:1000
>>> > >           RX bytes:945121 (922.9 KiB)  TX bytes:9529 (9.3 KiB)
>>> > >
>>> > > root@qemuarm64:~# ./remote-test-server -v remote
>>> > > starting test server
>>> > > listening on 0.0.0.0:12345!
>>> > > ==========================
>>> > >
>>> > > Regards,
>>> > > Vinay
>>> > >
>>> > > On Mon, May 17, 2021 at 8:02 PM Alexander Kanavin
>>> > > <[email protected]> wrote:
>>> > > >
>>> > > > Thanks, can you please look into the error? The line where it happens 
>>> > > > and the way to get a backtrace is right there :)
>>> > > > There's no reason it shouldn't work.
>>> > > >
>>> > > > Alex
>>> > > >
>>> > > > On Mon, 17 May 2021 at 15:21, Vinay Kumar <[email protected]> 
>>> > > > wrote:
>>> > > >>
>>> > > >> Hi Alex,
>>> > > >>
>>> > > >> Error on qemu  image (ex. Aarch64) booted with tap interface.
>>> > > >> ===========================
>>> > > >> root@qemuarm64:~# ./remote-test-server
>>> > > >> starting test server
>>> > > >> thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
>>> > > >> Cannot assign requested address (os error 99)',
>>> > > >> src/tools/remote-test-server/src/main.rs:90:20
>>> > > >> note: run with `RUST_BACKTRACE=1` environment variable to display a 
>>> > > >> backtrace
>>> > > >> ===========================
>>> > > >>
>>> > > >> On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
>>> > > >> <[email protected]> wrote:
>>> > > >> >
>>> > > >> > On Mon, 17 May 2021 at 13:34, Vinay Kumar <[email protected]> 
>>> > > >> > wrote:
>>> > > >> >>
>>> > > >> >> "remote-test-server" on qemu-image with a tap interface throws an 
>>> > > >> >> error.
>>> > > >> >> The emulators for rust testing are with tcp port forwarding so 
>>> > > >> >> used
>>> > > >> >> slirp method with added rust port.
>>> > > >> >
>>> > > >> >
>>> > > >> > I'm not sure I understand - what kind of error? In both cases the 
>>> > > >> > server starts listening on a port, so in slirp scenario the 
>>> > > >> > address is 127.0.0.1:12345 (prone to breakage if something else on 
>>> > > >> > the build host took that port btw, including another instance of 
>>> > > >> > the same test), in tap it would be 192.168.7.2:12345. For the 
>>> > > >> > client you simply supply that via TEST_DEVICE_ADDR. No?
>>> > > >> >
>>> > > >> > Alex
>>> >
>>> > 
>>> >
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#152126): 
https://lists.openembedded.org/g/openembedded-core/message/152126
Mute This Topic: https://lists.openembedded.org/mt/82883381/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to