Giter VIP home page Giter VIP logo

pytest-idapro's People

Contributors

nirizr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pytest-idapro's Issues

IDA internal testing capabilities

  • Run inside IDA to allow testing in a real environment (PR #28).
  • Automatically try IDA testing for tests that fail on mocked environment.
  • Record and replay results of all IDAPython API calls while running inside IDA (PR #35).

Automated mocking

Doing this manually is too slow and annoying.

Using one or more of the following options:

  • 1. Record all idapython functions being called while running in IDA, log responses and mock them up.
  • 2. Parse the idapython repo, the IDA sdk or something similar to autogenerate the APIs.
  • 3. Using https://github.com/williballenthin/python-idb and a few IDBs, mock API calls by implementing them as pyidb calls (not sure this actually saves time).

Make coverage transparent when running in IDA

Currently when running in IDA (i.e. specifying the --ida flag) coverage is properly recorded but:

  • Result summary is not properly displayed in external pytest session (it is displayed inside IDA).
  • External pytest instance (in internal mode) overwrites the internal session's .coverage file with it's own results which are mostly empty.

There may be other minor issues with some pytest-cov flags.

Record/Replay improvements

The following items are nice-to-haves now that basic record/replay functionality is in.

  • replay multiple files in a single test run.
  • support replay for python 3 although record was done with python 2.
  • support external execution from python 3 although IDA instance runs with python 2.
  • Proxy classes themselves to get class attributes This seems unnecessary for now.
  • return correct class proxy for __class__ attributes. This seems unnecessary for now.
  • support __subclasses__, __bases__, __mro__ and the likes. This seems unnecessary for now.
  • Selecting the proper callback recoding (if more than one) in function callback replaying?
  • Include a test identifier (such as test name or index) in "instance_desc" dictionaries.
  • catch replay exceptions for missing attributes or key dict names and translate them to the correct record meaning.
  • Fix remaining issues with instance matching for instances involved in callbacks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.