Skip to content

Conversation

manasab-qli
Copy link

Description:
This script automates the validation of authentication mechanisms within the IGT Core framework. It performs a series of tests to ensure that the authentication processes are functioning correctly and securely. The script captures detailed logs and provides a summary of the test results.

Copy link
Contributor

@mwasilew mwasilew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit message is missing

echo "Checking if dependency binary is available"

# Set the library path for the IGT tests
LD_LIBRARY_PATH=/data/igt/lib
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check whether the path exists

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added the check in next commit

else
# If "SUCCESS" is not found, print that the test failed
log_pass "$TESTNAME : Test Failed"
echo "$TESTNAME Fail" > $test_path/$TESTNAME.res
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Fail/FAIL/

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added the check in next commit

@@ -0,0 +1,68 @@
Sure, here is a README for the IGT Core Auth Test:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

? Seems unneccessary

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added the check in next commit

1. Copy the script to your target system and make it executable:

```bash
chmod +x igt_core_auth_test.sh
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file is not part of the PR

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added the check in next commit

2. Run the script:

```bash
./igt_core_auth_test.sh
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is not part of the PR

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is renamed to run.sh to maintain the same convention.
readme will also updated in the same way. in the commit this has been taken care

## Output

- **Test Logs**: Stored in individual files for each test variant.
- **Kernel Logs**: Captured via `dmesg` and `syslog`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dmesg and syslog are not used anywhere in the test script

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added the check in next commit

@manasab-qli manasab-qli requested a review from mwasilew May 14, 2025 06:09
@mwasilew
Copy link
Contributor

Please squash the commits. There is no need to have 3 instead of 1

Copy link
Contributor

@mwasilew mwasilew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please squash the commits and edit resulting commit message. Initial commit message is currently empty.

@manasab-qli manasab-qli requested a review from mwasilew May 22, 2025 04:46
@manasab-qli
Copy link
Author

Please squash the commits and edit resulting commit message. Initial commit message is currently empty.

Let me address this

@manasab-qli manasab-qli force-pushed the main branch 2 times, most recently from 81f53b8 to 9b25648 Compare May 22, 2025 06:42
Copy link
Contributor

@mwasilew mwasilew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit message is missing.

Copy link
Contributor

@mwasilew mwasilew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address the shellcheck issues:

In ./Runner/suites/Multimedia/Display/core_auth/run.sh line 4:
#!/bin/sh
^-- SC1128 (error): The shebang must be on the first line. Delete blanks and move comments.


In ./Runner/suites/Multimedia/Display/core_auth/run.sh line 6:
. $(pwd)/init_env
  ^----^ SC2046 (warning): Quote this to prevent word splitting.


In ./Runner/suites/Multimedia/Display/core_auth/run.sh line 26:
    # Set the LD_LIBRARY_PATH environment variable
^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
 ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
  ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.


In ./Runner/suites/Multimedia/Display/core_auth/run.sh line 27:
    export LD_LIBRARY_PATH=/data/igt/lib
^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
 ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
  ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.


In ./Runner/suites/Multimedia/Display/core_auth/run.sh line 28:
    echo "LD_LIBRARY_PATH is set to /data/igt/lib"
^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
 ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
  ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.


In ./Runner/suites/Multimedia/Display/core_auth/run.sh line 30:
    echo "Directory either /data/ or /data/igt/lib or both does not exist"
^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
 ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
  ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.


In ./Runner/suites/Multimedia/Display/core_auth/run.sh line 31:
    exit 1
^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
 ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.
  ^-- SC1018 (error): This is a unicode non-breaking space. Delete and retype it.


In ./Runner/suites/Multimedia/Display/core_auth/run.sh line 35:
cd /data/igt/tests/
^-----------------^ SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd fails.

Did you mean: 
cd /data/igt/tests/ || exit

For more information:
  https://www.shellcheck.net/wiki/SC1018 -- This is a unicode non-breaking sp...
  https://www.shellcheck.net/wiki/SC1128 -- The shebang must be on the first ...
  https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...
Error: Process completed with exit code 123.

# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
# SPDX-License-Identifier: BSD-3-Clause-Clear

#!/bin/sh
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shebang must be the first line in the script.


# Print the completion of the test case
echo "-------------------Completed $TESTNAME Testcase----------------------------"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove empty lines at the end of the script

Copy link
Contributor

@smuppand smuppand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@manasab-qli Please ensure that you use the latest skeleton for any test scripts contributed to this repository. Also, make sure to rebase your feature branch onto the latest main branch. This will help streamline the review process and facilitate a smoother merge of your pull request.

vnarapar and others added 28 commits July 1, 2025 09:19
This commit will fix the wpss remoteproc test issue.

Added the proper framework support in the test script

Signed-off-by: Vamsee Narapareddi <[email protected]>
This commit is to add check_kernel_config function in common functions
This function will check if the corresponding configs are enabled in
/proc/config.gz

Added check_driver_loaded to check if any driver is loaded.
Added check_dt_nodes to check if DT nodes are present

Signed-off-by: Vamsee Narapareddi <[email protected]>
This testcase vaildates configs like CONFIG_CPU_FREQ
CONFIG_CPU_FREQ_GOV_SCHEDUTIL CONFIG_CPU_FREQ_GOV_PERFORMANCE and checks
cpu frequencies` before and after a load is applied

Signed-off-by: Vamsee Narapareddi <[email protected]>
This test validates the Scheduler support by checking corresponding
SCHED configs and checks cpu affinity by creating a CPU-bound background task

Signed-off-by: Vamsee Narapareddi <[email protected]>
This test validates the IOMMU (Input-Output Memory Management Unit) support
by checking IOMMU configs and checks if the corresponding drivers are
loaded instead of just checking the dmesg logs.

Signed-off-by: Vamsee Narapareddi <[email protected]>
This is to fix the minor shel check issue in DCVS

Signed-off-by: Vamsee Narapareddi <[email protected]>
…ble in Kernel CI:

- IOMMU
- IPA
- IPCC
- Watchdog

These failures are due to script-level issues (parsing, timing, or incorrect assumptions) and are being removed temporarily to stabilize CI pipelines.
They can be reintroduced once the underlying issues are fixed and retested.

Signed-off-by: Srikanth Muppandam <[email protected]>
Removing var folder reference from Video README_Video File
Removing common folder copy to device from Audio and Video Readme files
Removing syslog copy to results folder, as no processing is done for testcase results on this log

Signed-off-by: Abhishek Bajaj <[email protected]>
…nd remove copyright header from root README.md

Key Features:
- Compatible with both `journalctl` and `dmesg`-based systems
- Logs detailed output to `probe_failures.log`
- Structured to align with `functestlib.sh` logging and result reporting
- Designed to run standalone or integrated in CI

Signed-off-by: Srikanth Muppandam <[email protected]>
This test validates the Ethernet interface (eth0) by checking its presence,
bringing it up if necessary, and verifying connectivity via ping to 8.8.8.8.

- Compliant with qcom-linux-testkit structure
- Generates .res file for CI/CD
- Uses functestlib logging and dependency checks

Signed-off-by: Anil Yadav <[email protected]>
This test validates the Bluetooth controller by checking for the presence of
bluetoothctl, ensuring bluetoothd is running, and toggling the controller power
state using bluetoothctl.

- Compliant with qcom-linux-testkit structure
- Generates .res file for CI/CD
- Uses functestlib logging and dependency checks

Signed-off-by: Anil Yadav <[email protected]>
This test validates the encryption and access functionality of the shmbridge
partition by formatting it, applying fscrypt encryption, and verifying data
integrity through read/write operations.

- Compliant with qcom-linux-testkit structure
- Generates .res file for CI/CD
- Uses functestlib logging and dependency checks

Signed-off-by: Anil Yadav <[email protected]>
…odule helpers

- Introduced shared POSIX-compliant helper functions in functestlib.sh:
  - find_kernel_module
  - load_kernel_module
  - unload_kernel_module
  - is_module_loaded

- Refactored IPA/run.sh and RMNET/run.sh:
  - Aligned structure for consistency
  - Replaced hardcoded insmod/lsmod/rmmod logic with shared helpers
  - Added robust error handling, cleanup logic, and module load validation
  - Ensured ShellCheck --shell=sh compatibility

- Improves modularity, maintainability, and test reliability across CI runs

Signed-off-by: Srikanth Muppandam <[email protected]>
Enhanced meta-qcom testplan by adding new Audio, BT, Graphics and
Ethernet tests

Signed-off-by: Vamsee Narapareddi <[email protected]>
Added shell script for fast RPC testcases
Added Readme for fast RPC Testcases

Signed-off-by: Abhishek Bajaj <[email protected]>
- Updated check_dependencies to SKIP tests with missing tools
- CI/LAVA now reports SKIP (not FAIL) when commands are absent

Signed-off-by: Srikanth Muppandam <[email protected]>
This change adds `exit 0` for success and `exit 1` for failure
in the run.sh scripts

Signed-off-by: Sai-teja573 <[email protected]>
…file modes

Adds a GitHub Actions workflow to validate that only explicitly intended files (like run.sh or executable binaries) have executable permissions.
This helps prevent accidental commits of files with incorrect modes (e.g., *.md, *.txt marked as executable).

The check runs on each PR and fails the job if any suspicious file permission is detected, improving repo hygiene and review quality.

Exemptions (e.g., run.sh) can be controlled by editing the allowlist.

Signed-off-by: Srikanth Muppandam <[email protected]>
Semgrep check is temporarily disabled due to false positives
and limited relevance to current shell/C test coverage. This
can be re-enabled after rules are refined or codebase is adjusted.

Signed-off-by: Srikanth Muppandam <[email protected]>
- Corrected the find command grouping in the permissions workflow to avoid false positives.
- Now, only .sh files (including run.sh) missing user-execute permission are reported.
- Prevents unnecessary errors when all scripts are already executable.

Signed-off-by: Srikanth Muppandam <[email protected]>
- rngtest/run.sh: Use dd to source entropy data for more reliable testing, improve output parsing, and enhance error handling for missing or malformed rngtest output.
- run-test.sh: Detect and report SKIP results in test summary by parsing .res files, so that SKIPped tests are no longer counted as pass or fail.
- Print SKIPPED section in summary for clearer CI/test visibility.
- Ensures correct reporting of pass, fail, and skip for all test cases, and makes rngtest reliable across platforms.

Signed-off-by: Srikanth Muppandam <[email protected]>
- Switch random input collection from cat to dd for reliability.
- Always remove temp files after test run.
- Add consistent exit 0 (PASS) or exit 1 (FAIL) for every outcome.
- Improve error handling on missing dependencies, entropy, and output.
- Log failures for all possible test aborts to aid CI debugging.

Signed-off-by: Srikanth Muppandam <[email protected]>
Specifically:
- Sets minimal required permissions for actions
- Prevents workflows from running with unnecessarily elevated privileges
- Prepares for compatibility with future GitHub enforcement policies

Signed-off-by: Srikanth Muppandam <[email protected]>
Updated the qcom-next testplan with DCVS, scheduler tests

Updated cpu affinity test to remove the debug  config check which
is not required

Signed-off-by: Vamsee Narapareddi <[email protected]>
Fix value of TESTNAME variable in KMSCube test. The value of the
variable in the script didn't match the value in the meta-qcom-premerge
test plan.

Signed-off-by: Milosz Wasilewski <[email protected]>
- Reimplemented the LAVA signal emitter script to be POSIX-compliant, shellcheck-clean, and dmesg-safe.
- Removed FIFO-based signaling and replaced it with a buffered atomic flush approach.
- Handles only valid PASS/FAIL/SKIP/UNKNOWN results with robust parsing.
- Dropped the legacy script sourced from Linaro test definitions and removed the old license file.
- This version ensures clean output, avoids malformed signals, and is CI-friendly.

Signed-off-by: Srikanth Muppandam <[email protected]>
… enforcement

- Support for pull_request, pull_request_target (on main), push (to main), and workflow_dispatch

Signed-off-by: Srikanth Muppandam <[email protected]>
@manasab-qli
Copy link
Author

Will be creating a new PR by rebasing the change

@manasab-qli manasab-qli closed this Jul 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants