Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pickles are bad, and you should feel bad #236

Closed
nedbat opened this issue Feb 20, 2013 · 6 comments
Closed

Pickles are bad, and you should feel bad #236

nedbat opened this issue Feb 20, 2013 · 6 comments
Labels
enhancement New feature or request

Comments

@nedbat
Copy link
Owner

nedbat commented Feb 20, 2013

On 2/14/2013 10:38 PM, Alex Gaynor wrote:

Hi Ned,

Basically what I want to do is have several different test runs on travis-ci.com take their coverage runs and send it to a build server, which would combine them and output the total results. (This is all for topaz by the way). I can do some basic security by adding a secret to each POST to the server (this is what I do for my nightly build uploads). The problem is, coverage data is a .pickle, and, in the event my secret is compromised I'd prefer the result be bad coverage data, and not total ownage of my server.

Alex


@nedbat
Copy link
Owner Author

nedbat commented Jun 5, 2013

Original comment by d (Bitbucket: desmaj, GitHub: desmaj)


It looks like the coverage data file only contains dicts, lists, strings, and ints (Correct me if I'm wrong, Ned). It would probably be possible to write a small de-pickler that would only load these things. In that way you could continue to serialize as a pickle, but be safe from server ownage on deserialization. Alex, would that meet your needs?

@nedbat
Copy link
Owner Author

nedbat commented Dec 13, 2013

Original comment by Marius Gedminas (Bitbucket: mgedmin, GitHub: mgedmin)


Why not keep it simple and use JSON? Gzipped, if space is an issue.

@nedbat
Copy link
Owner Author

nedbat commented Dec 13, 2013

Yup, json is the right choice these days. Its only downside is it isn't as compact as something like pickle, but the size of these files is not an issue, and if it is, we can gzip them.

@nedbat
Copy link
Owner Author

nedbat commented Apr 20, 2015

@jchappell82 thanks for looking into it. I still want to do it. There doesn't have to be any backward compatibility: there's no need to read coverage 3.7.1 data files with coverage 4.0. We can keep talking here, or find me on Freenode IRC as nedbat.

@nedbat
Copy link
Owner Author

nedbat commented Jul 22, 2015

Data files are now JSON instead of pickles. Fixes #236.

→ <<cset 8b2420c71070 (bb)>>

@nedbat
Copy link
Owner Author

nedbat commented Jul 22, 2015

Finished in 8b2420c71070 (bb)

@nedbat nedbat closed this as completed Jul 22, 2015
@nedbat nedbat added major enhancement New feature or request labels Jun 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant