Git Product home page Git Product logo

ps2-cunit-port's People

Contributors

telyn avatar

Watchers

 avatar

ps2-cunit-port's Issues

Build test program for iop

The test dir contains the tests for the IOP CUnit compatibility layer. By running those tests on the IOP, we'd gain greater confidence that the compatibility layer works (of course - it requires the compatibility layer already works well-enough to get CUnit running on the IOP, but that's beside the point).

Also it allows us to show off a full build, test, release pipeline for the PS2 including IOP.

automated testing in gitlab

Among other things I would like this repo to be an example of how to get my ps2runner stuff all nicely running in a gitlab pipeline, and an example of running a real CUnit test suite on the IOP. (Also I appreciate the meta-ness of running the unit tests for the code that makes the test framework work on the IOP, on the IOP)

  • test dir iop compatibility
  • test dir ee compatibility
  • automated build of local, ee, and iop test binaries
  • automated testing of local, ee and iop test binaries
  • ps2exec script in ps2runner repo
  • add a template to the ps2runner repo to make life easier when trying to automate future test runs

Compile CUnit for IOP

Not as easy as one could've hoped - CUnit depends on a couple of stdlib functions that aren't available on the IOP:

  • snprintf: %s specifiers
    • with width
    • with precision
    • left-aligned (-)
  • snprintf: %d specifiers
    • with width
    • with precision
    • left-aligned
  • snprintf: %f specifiers
    • with width
    • with precision
    • left-aligned
    • zero-padding
  • assert

I think I've implemented all the above functions, however at link time I now have some issues. The big-ticket one is the lack of floating point math - -msoft-float doesn't work so I think I need to find a floating point implementation and plug it in.

  • find a floating point implementation and plug it in. Should fix these issues:

    • `__cmpdi2'
    • `__floatdisf'
    • `fpadd'
    • `fpdiv'
    • `fpsub'
    • `fptodp'
    • `sitofp'
  • _ps2_cunit_snprintf (this is my fault - I think I need to convince the linker to compile _ps2_cunit_snprintf into libcunit.a

  • `clock' (might be a toughie)

  • Easy ones:

    • `look_ctype_table'
    • `memset'
    • `strcmp'
    • `strcpy'
    • `strncmp'
    • `strncpy'
    • `_toupper'

build test program for ee

The test dir contains the tests for the iop compatibility stuff. If compiled for EE, we could run those tests (a real CUnit test suite) on the EE.

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.