Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix command execution #5

Closed
wants to merge 12 commits into from
Closed

Fix command execution #5

wants to merge 12 commits into from

Conversation

acerv
Copy link
Owner

@acerv acerv commented Nov 1, 2023

With this patch we permits to execute tests in the framework folder when kirk -f myframework -c myframework_test is used.

acerv and others added 10 commits September 18, 2023 11:09
This fixes failure when repeatedly run make install:

ln -s /opt/ltp/runltp-ng /opt/ltp/kirk
ln: failed to create symbolic link '/opt/ltp/kirk': File exists
make: *** [Makefile:16: install] Error 1

Fixes: 666a2bd ("Symlink kirk with runltp-ng in LTP installation")
Signed-off-by: Petr Vorel <[email protected]>
Makefile: Force symlink creation
runltp-ng symlink is not pointing to kirk, but the opposite way.
Using full path creates problems with rpm packaging:

ERROR: Link /opt/ltp/runltp-ng ->
/home/abuild/rpmbuild/BUILDROOT/ltp-20230929.48a150bf-1573.1.x86_64/opt/ltp/kirk
points inside build root.

Closes: #6
Fixes: 666a2bd ("Symlink kirk with runltp-ng in LTP installation")
Fixes: 7e397fe ("Fix 666a2bd")
Suggested-by: Cyril Hrubis <[email protected]>
Reviewed-by: Petr Cervinka <[email protected]>
Signed-off-by: Petr Vorel <[email protected]>
Modify incorrect ssh sut sample code
This fixes a problem with missing output on LTP new C API and new shell
API, which both print tst_res() and tst_brk() messages to stderr
(unlike the old APIs which print to stdout).

    $ /root/kirk.git/kirk -r smoketest -v
    ...
    ===== access01 =====
    command: access01
    Tained kernel: unsigned module was loaded
    tst_test.c:1690: TINFO: LTP version: 20230929-89-g446d82e5b
    tst_test.c:1574: TINFO: Timeout per run is 0h 05m 24s
    access01.c:245: TPASS: access(accessfile_rwx, F_OK) as root passed
    access01.c:245: TPASS: access(accessfile_rwx, F_OK) as nobody passed
    ...
    ===== ping602 =====
    command: ping02.sh -6
    Tained kernel: unsigned module was loaded
    ping02 1 TINFO: Running: ping02.sh -6
    ping02 1 TINFO: IPv6 disabled on lhost via kernel command line or not
    compiled in
    ping02 1 TINFO: initialize 'lhost' 'ltp_ns_veth2' interface

Without this patch TINFO messages would be missing in the output and in
the logs (debug.log, results.json).

Merging stdout and stderr together can lead to problem of unexpected
output (message from stderr instead of expected number in
get_tainted_info()):

    $ mkdir /tmp/foo; cd /tmp/foo; rm -rf /tmp/foo; cd .
    cd: error retrieving current directory: getcwd: cannot access parent
    directories: No such file or directory
    $ /root/kirk.git/kirk -r smoketest -v
    ...
      File "/root/kirk.git/libkirk/scheduler.py", line 231, in _run_test
	tainted_code1, _ = await self._get_tainted_status()
      File "/root/kirk.git/libkirk/scheduler.py", line 150, in _get_tainted_status
	code, messages = await self._sut.get_tainted_info()
      File "/root/kirk.git/libkirk/sut.py", line 256, in get_tainted_info
	code = int(stdout.rstrip())
    ValueError: invalid literal for int() with base 10: 'shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory\n8192'

Therefore add check for it:
    $ /root/kirk.git/kirk -r smoketest -v
    Kernel Version: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    Linux 6.3.1-0.g944cb55-default #1 SMP PREEMPT_DYNAMIC Thu May 11 07:12:30 UTC 2023 (944cb55)
    CPU: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    x86_64
    Machine Architecture: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    x86_64
    RAM: 2010696 kB
    Swap memory: 2098152 kB
    Distro: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    opensuse-tumbleweed
    Distro Version: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    20230502

    Error: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    8192

Fixes: #8
Signed-off-by: Petr Vorel <[email protected]>
full_command will permit to have the entire command starting from
command itself plus the arguments.
The Framework::find_command API will permit to support external
commands, as well as test binaries which could be inside the framework
path.
@acerv acerv added the bug Something isn't working label Nov 1, 2023
With this patch it's possible tot execute tests which are inside the
framework path by using the --run-command option.
@acerv acerv closed this Nov 3, 2023
@acerv acerv deleted the fix_cmd_framework branch November 3, 2023 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants