Code Monkey home page Code Monkey logo

Comments (12)

cing avatar cing commented on July 24, 2024

Thoughts on using the MDAnalysisTests package for testing real PSF/DCDs?

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

Good idea, since it saves us having to package our own. I'll add MDAnalysisTests as a dependency for the tests on Travis. Will add this to the docs as well.

from mdsynthesis.

richardjgowers avatar richardjgowers commented on July 24, 2024

Hey David, is this still open?

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

It is. I've been hammering on #16 and #8 over the past few weeks (see 8d11c58 on the member_aggs branch; required some overhauls, and still working on it), so haven't spent much time on improving this one.

The Container API has enough tests for now, but neither Sim nor Group have tests for their unique components (universes and selections; members). If you're interested in adding some, I'd suggest working from here. This is one of the issues holding back a first release, so any help would certainly speed things along!

from mdsynthesis.

richardjgowers avatar richardjgowers commented on July 24, 2024

Ok I'll have a go, I had a read of the current tests, pytest looks very cool to use!

Have you looked at including coverage in your CI? It took me maybe 5 lines and 1 website signup to get it working on MDAnalysis

richardjgowers/mdanalysis@9fb0869

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

Ok I'll have a go, I had a read of the current tests, pytest looks very cool to use!

Thanks! Yeah, its implementation of fixtures takes a little getting used to, but it makes writing tests for large varieties of inputs, including permutations, a bit less painful. The tests for data storage and retrieval are a good example.

I'm trying out codecov for test coverage. Just updated the development branch with the appropriate includes in .travis.yml. In addition to coverage, I also added pep8 checks to the test execution line, and this spat out a whole slew of violations. cracks knuckles

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

The good news is that we so far have 42% test coverage according to pytest. Once we have coverage of Sim- and Group-specific elements, this will probably rise to over 70%.

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

Make that 47% test coverage after I removed some old unused code. Beyond code coverage, however, we'll also need stress tests of file locking mechanisms for both state files and data. The tricky part with those is that they'll require tests using multiprocessing, and I'm not sure if/how that's done with pytest. It's a separate issue (#22), however.

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

We're now up to 62% test coverage. I merged the major changes I made to how Group works underneath the hood into master, and along with this were some changes to both the Sim and Group state file schema. As such, old Sim and Group state files won't work anymore; I worked a bit on building a conversion script, but I wasn't sure it was worth the time. In the future, changes to schema will only occur across major releases, and we'll have code built into these Containers to handle updating their schema internally based on stored version numbers.

There's still Sim.selections to test, along with the features of Bundle (new!). I'll be working to close the gaps in the coming days.

from mdsynthesis.

richardjgowers avatar richardjgowers commented on July 24, 2024

I think the easiest jump in coverage looks like core/aggregators, so I'll make some for them.

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

Moving this to 0.5.1; quite a bit of progress has been made, and the gaps will be filled in there.

from mdsynthesis.

dotsdl avatar dotsdl commented on July 24, 2024

This is pretty well done. There may be some cracks yet, but they're not really hiding out in Sims and Groups.

from mdsynthesis.

Related Issues (20)

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.