aboutsummaryrefslogtreecommitdiff
path: root/vendor/object/tests/round_trip/section_flags.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/object/tests/round_trip/section_flags.rs')
-rw-r--r--vendor/object/tests/round_trip/section_flags.rs90
1 files changed, 0 insertions, 90 deletions
diff --git a/vendor/object/tests/round_trip/section_flags.rs b/vendor/object/tests/round_trip/section_flags.rs
deleted file mode 100644
index b1ca398..0000000
--- a/vendor/object/tests/round_trip/section_flags.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-#![cfg(all(feature = "read", feature = "write"))]
-
-use object::read::{Object, ObjectSection};
-use object::{read, write};
-use object::{Architecture, BinaryFormat, Endianness, SectionFlags, SectionKind};
-
-#[test]
-fn coff_x86_64_section_flags() {
- let mut object =
- write::Object::new(BinaryFormat::Coff, Architecture::X86_64, Endianness::Little);
-
- let section = object.add_section(Vec::new(), b".text".to_vec(), SectionKind::Text);
- object.section_mut(section).flags = SectionFlags::Coff {
- characteristics: object::pe::IMAGE_SCN_MEM_WRITE,
- };
-
- let bytes = object.write().unwrap();
-
- let object = read::File::parse(&*bytes).unwrap();
- assert_eq!(object.format(), BinaryFormat::Coff);
- assert_eq!(object.architecture(), Architecture::X86_64);
-
- let mut sections = object.sections();
- let section = sections.next().unwrap();
- assert_eq!(section.name(), Ok(".text"));
- assert_eq!(
- section.flags(),
- SectionFlags::Coff {
- characteristics: object::pe::IMAGE_SCN_MEM_WRITE | object::pe::IMAGE_SCN_ALIGN_1BYTES,
- }
- );
-}
-
-#[test]
-fn elf_x86_64_section_flags() {
- let mut object =
- write::Object::new(BinaryFormat::Elf, Architecture::X86_64, Endianness::Little);
-
- let section = object.add_section(Vec::new(), b".text".to_vec(), SectionKind::Text);
- object.section_mut(section).flags = SectionFlags::Elf {
- sh_flags: object::elf::SHF_WRITE.into(),
- };
-
- let bytes = object.write().unwrap();
-
- let object = read::File::parse(&*bytes).unwrap();
- assert_eq!(object.format(), BinaryFormat::Elf);
- assert_eq!(object.architecture(), Architecture::X86_64);
-
- let mut sections = object.sections();
- sections.next().unwrap();
- let section = sections.next().unwrap();
- assert_eq!(section.name(), Ok(".text"));
- assert_eq!(
- section.flags(),
- SectionFlags::Elf {
- sh_flags: object::elf::SHF_WRITE.into(),
- }
- );
-}
-
-#[test]
-fn macho_x86_64_section_flags() {
- let mut object = write::Object::new(
- BinaryFormat::MachO,
- Architecture::X86_64,
- Endianness::Little,
- );
-
- let section = object.add_section(Vec::new(), b".text".to_vec(), SectionKind::Text);
- object.section_mut(section).flags = SectionFlags::MachO {
- flags: object::macho::S_ATTR_SELF_MODIFYING_CODE,
- };
-
- let bytes = object.write().unwrap();
-
- let object = read::File::parse(&*bytes).unwrap();
- assert_eq!(object.format(), BinaryFormat::MachO);
- assert_eq!(object.architecture(), Architecture::X86_64);
-
- let mut sections = object.sections();
- let section = sections.next().unwrap();
- assert_eq!(section.name(), Ok(".text"));
- assert_eq!(
- section.flags(),
- SectionFlags::MachO {
- flags: object::macho::S_ATTR_SELF_MODIFYING_CODE,
- }
- );
-}