-
Notifications
You must be signed in to change notification settings - Fork 44
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
Add expect failed test for loading BPF program with global variables #816
Conversation
Signed-off-by: Alan Jowett <[email protected]>
WalkthroughThe pull request involves an update to the Changes
Possibly related PRs
Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (2)
🔇 Additional comments (2)ebpf-samples (1)
✅ Verification successfulSubmodule update aligns with global variable test implementation The submodule update to commit b1ec1a2 is correct and matches the codebase changes:
🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Verify the submodule commit exists and contains expected changes
# Expected: Commit should exist and contain changes related to global variable testing
# Check if the commit exists and show its message
git ls-remote https://github.com/vbpf/ebpf-samples.git b1ec1a2c18c4c0dbb0e59994af71e6882596e604
# Search for global variable related files in the repository
fd global_variable --exec rg -l "global"
Length of output: 138 Script: #!/bin/bash
# Let's verify the commit in the submodule directly
git submodule status ebpf-samples
# Check the actual content of the submodule reference file
cat .gitmodules
# Look for test files related to global variables
rg -l "global.*variable" src/test/
Length of output: 609 Script: #!/bin/bash
# Check the content of the test file to verify global variable testing
rg -A 5 -B 5 "global.*variable" src/test/test_verify.cpp
# Check if the submodule is properly initialized and get its commit message
cd ebpf-samples && git show -s --format=%B HEAD
Length of output: 757 src/test/test_verify.cpp (1)
The test case correctly validates that BPF programs with global variables fail verification. Run the following script to verify the test implementation: ✅ Verification successfulTest case correctly validates unsupported global variables The test case is properly implemented as a known failure test using TEST_SECTION_FAIL macro, which aligns with the current limitation of the verifier not supporting global variables. The test file location and implementation are consistent with the codebase's test structure. 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Verify the test case implementation and its dependencies.
# Test: Check if the test object file exists
fd -t f "global_variable.o" ebpf-samples/build/
# Test: Check if there are any other test cases for global variables
rg -B 2 -A 2 "global.*variable"
Length of output: 542 Script: #!/bin/bash
# Let's check the actual test file content and directory structure
# Find the test object file in the correct location
fd -t f "global_variable"
# Check the content of any global variable related test files
rg -l "global.*variable" | xargs cat
# Check the directory structure to locate test files
fd -t d "test"
Length of output: 37795 Script: #!/bin/bash
# Let's check the actual test implementation for global variables
# Find and examine the global variable test file
fd -t f "global_variable" -x cat {}
# Check if there are any other related test files
fd -t f -e "cpp" -e "h" -x grep -l "global.*variable" {}
Length of output: 121 Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Add test that is currently expected to fail for loading BPF programs with global non-const variables.
Summary by CodeRabbit
New Features
Documentation