elf.rs 630 B

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