Code Monkey home page Code Monkey logo

opam-rt's Introduction

opam-rt

The goal of opam-rt is to test for regressions in opam.

Opam has already its own test suite but some corner-cases are more easily tested in a more dedicated framework (ie. not a collection of shell scripts, but something well-designed and written in a real programming language).

Status

opam-rt currently test mainly two areas of opam:

  • pinned packages
  • development packages

Compilation

Make sure you have the required dependencies installed (using opam):

  • cohttp-lwt-unix
  • opam-client

Any external contribution, as testing ideas or pull requests are most than welcome.

opam-rt's People

Contributors

altgr avatar dra27 avatar hnrgrgr avatar kit-ty-kate avatar rjbou avatar samoht avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opam-rt's Issues

incremental update

take any local git repository:

  • initialize an OPAM instance using the repository
  • for each of the commits: revert to that commit, opam update and check that the file are indeed the same ones

Test aspcud / heuristic on larger scenarios

from @avsm

Louis, can we add a Core upgrade test to opam-rt? Do an installation
from an older snapshot of opam-repository, and attempt an upgrade. It
would probably need a "exit on brute-force" environment variable for
the solver though.

Definitely. I'll add that. Probably by packing two snapshots of the repo, and playing the upgrade. It will show how easy it is to get in trouble, solver-wise. If finding two relevant snapshots turns out to be difficult (which would be a good thing) we can ask the people who had the problem the timestamps of their upgrades to replay the same scenario.

repository priorities

take two copy of a local git repositories:

  • initialize an OPAM instance with these 2 repositories
  • choose randomly two commits, and checkout the two repositories to these commits
  • compute (independently of OPAM) the correct package priorities
  • compute (independently of OPAM) the expected OPAM global state
  • check that this is indeed the current state of OPAM
  • and do this again, and again, for various combinations of the commits

dev packages url change

  • install a dev package
  • modify the url file of the package
  • check that opam update resets the dev cache and deletes any archive file

dev package update

  • install a dev package
  • update the package repository
  • check that opam update detects the update

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.