elf.rs 675 B

12345678910111213141516171819202122232425
  1. use super::integration_test;
  2. use aya::include_bytes_aligned;
  3. use object::{Object, ObjectSymbol};
  4. #[integration_test]
  5. fn test_maps() {
  6. let bytes = include_bytes_aligned!("../../../../target/bpfel-unknown-none/release/map_test");
  7. let obj_file = object::File::parse(bytes).unwrap();
  8. if obj_file.section_by_name("maps").is_none() {
  9. panic!("No 'maps' ELF section");
  10. }
  11. let mut found = false;
  12. for sym in obj_file.symbols() {
  13. if let Ok(name) = sym.name() {
  14. if name == "BAR" {
  15. found = true;
  16. break;
  17. }
  18. }
  19. }
  20. if !found {
  21. panic!("No symbol 'BAR' in ELF file")
  22. }
  23. }