Skip to content

[TG-9219] Add new option --ignore-manifest-main-class #5068

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

Merged

Conversation

antlechner
Copy link
Contributor

If the option is specified, any main class that may be specified in the manifest file of a JAR will be ignored in the class loading stage.
This is useful when we want to e.g. load all classes in a JAR file, some of which may not be referenced from the specified main class.

  • Each commit message has a non-empty body, explaining why the change was made. (except for regression test commit)
  • n/a Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
  • Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
  • n/a My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • n/a White-space or formatting changes outside the feature-related changed lines are in commits of their own.

@antlechner antlechner force-pushed the antonia/load-whole-jar-option branch from cfbfc87 to f3c9735 Compare August 30, 2019 09:31
@codecov-io
Copy link

codecov-io commented Aug 30, 2019

Codecov Report

Merging #5068 into develop will increase coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #5068      +/-   ##
===========================================
+ Coverage    69.61%   69.61%   +<.01%     
===========================================
  Files         1316     1316              
  Lines       109087   109091       +4     
===========================================
+ Hits         75939    75944       +5     
+ Misses       33148    33147       -1
Impacted Files Coverage Δ
jbmc/src/java_bytecode/java_bytecode_language.h 72.72% <ø> (ø) ⬆️
jbmc/src/java_bytecode/java_bytecode_language.cpp 93.75% <100%> (+0.05%) ⬆️
jbmc/src/java_bytecode/ci_lazy_methods.cpp 100% <0%> (+0.74%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 73e410a...7fabc9d. Read the comment docs.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️
Passed Diffblue compatibility checks (cbmc commit: f3c9735).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/125212217

@antlechner antlechner force-pushed the antonia/load-whole-jar-option branch from f3c9735 to cbe9391 Compare August 30, 2019 15:56
@antlechner
Copy link
Contributor Author

I generalised the regression test as requested by @segun3d, to use two different packages in the jar file.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️
Passed Diffblue compatibility checks (cbmc commit: cbe9391).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/125261944

@antlechner antlechner force-pushed the antonia/load-whole-jar-option branch from cbe9391 to a49fd3d Compare August 30, 2019 17:57
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️
Passed Diffblue compatibility checks (cbmc commit: a49fd3d).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/125275386

@peterschrammel
Copy link
Member

@antlechner, the failing regression test should be fixed by rebasing.

@antlechner antlechner force-pushed the antonia/load-whole-jar-option branch from a49fd3d to 974f6a0 Compare September 2, 2019 18:37
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️
Passed Diffblue compatibility checks (cbmc commit: 974f6a0).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/125499169

@antlechner antlechner force-pushed the antonia/load-whole-jar-option branch from 974f6a0 to 7fabc9d Compare September 3, 2019 18:27
@antlechner
Copy link
Contributor Author

More tests added as requested by @segun3d (one with --main-class, one with --function, one with both, and one without --ignore...).

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️
Passed Diffblue compatibility checks (cbmc commit: 7fabc9d).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/125790120

If the option is specified, any main class that may be specified in the
manifest file of a JAR will be ignored in the class loading stage.
This is useful when we want to e.g. load all classes in a JAR file, some
of which may not be referenced from the specified main class.
@antlechner antlechner force-pushed the antonia/load-whole-jar-option branch from 7fabc9d to 54ee1a9 Compare September 4, 2019 14:19
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 54ee1a9).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/125924156
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Contributor

@yumibagge yumibagge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@antlechner antlechner merged commit e7646df into diffblue:develop Sep 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants