static struct ptunit_result fini_empty(void) { struct pt_image image; pt_image_init(&image, NULL); pt_image_fini(&image); return ptu_passed(); }
struct pt_image *pt_image_alloc(const char *name) { struct pt_image *image; image = malloc(sizeof(*image)); if (image) pt_image_init(image, name); return image; }
static struct ptunit_result name(struct image_fixture *ifix) { const char *name; pt_image_init(&ifix->image, "image-name"); name = pt_image_name(&ifix->image); ptu_str_eq(name, "image-name"); return ptu_passed(); }
static struct ptunit_result name_none(void) { struct pt_image image; const char *name; pt_image_init(&image, NULL); name = pt_image_name(&image); ptu_null(name); return ptu_passed(); }
static struct ptunit_result init_name(struct image_fixture *ifix) { memset(&ifix->image, 0xcd, sizeof(ifix->image)); pt_image_init(&ifix->image, "image-name"); ptu_str_eq(ifix->image.name, "image-name"); ptu_null(ifix->image.sections); ptu_null((void *) (uintptr_t) ifix->image.readmem.callback); ptu_null(ifix->image.readmem.context); return ptu_passed(); }
struct ptunit_result ifix_init(struct image_fixture *ifix) { pt_image_init(&ifix->image, NULL); pt_image_init(&ifix->copy, NULL); pt_init_section(&ifix->section[0], "file-0", &ifix->status[0], &ifix->mapping[0]); pt_init_section(&ifix->section[1], "file-1", &ifix->status[1], &ifix->mapping[1]); pt_init_section(&ifix->section[2], "file-2", &ifix->status[2], &ifix->mapping[2]); pt_asid_init(&ifix->asid[0]); ifix->asid[0].cr3 = 0xa000; pt_asid_init(&ifix->asid[1]); ifix->asid[1].cr3 = 0xb000; pt_asid_init(&ifix->asid[2]); ifix->asid[2].cr3 = 0xc000; return ptu_passed(); }
static struct ptunit_result init(void) { struct pt_image image; memset(&image, 0xcd, sizeof(image)); pt_image_init(&image, NULL); ptu_null(image.name); ptu_null(image.sections); ptu_null((void *) (uintptr_t) image.readmem.callback); ptu_null(image.readmem.context); return ptu_passed(); }
int pt_insn_decoder_init(struct pt_insn_decoder *decoder, const struct pt_config *config) { int errcode; if (!decoder) return -pte_internal; errcode = pt_qry_decoder_init(&decoder->query, config); if (errcode < 0) return errcode; pt_image_init(&decoder->default_image, NULL); decoder->image = &decoder->default_image; pt_insn_reset(decoder); return 0; }
static struct ptunit_result fini(void) { struct ifix_mapping mapping; struct ifix_status status; struct pt_section section; struct pt_image image; struct pt_asid asid; int errcode; pt_asid_init(&asid); pt_init_section(§ion, NULL, &status, &mapping); pt_image_init(&image, NULL); errcode = pt_image_add(&image, §ion, &asid, 0x0ull); ptu_int_eq(errcode, 0); pt_image_fini(&image); ptu_int_eq(section.ucount, 0); ptu_int_eq(section.mcount, 0); ptu_int_eq(status.deleted, 1); return ptu_passed(); }
static struct ptunit_result init_null(void) { pt_image_init(NULL, NULL); return ptu_passed(); }