-
Notifications
You must be signed in to change notification settings - Fork 15
Code coverage report creation fails for big schema #48
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
Comments
Can you share error message with which the build is broken? And which version of cli you are using? |
I try latest development version utPLSQL-cli-develop-201711161046.zip. |
There are tow things here:
Does your project files = whole DB schema? If project < schema. Do you want to report coverage on whole DB schema or want to limit the coverage to your project files? HTML reporter in general is good for small projects. If it's a big project - the file will become really big. If you're running against a large project, integration with sonar or coveralls is more lightweight - it is just reporting line numbers, not the content of lines. It is best to use feature of mapping project files into DB objects. We use it for publishing to sonar and coveralls in utPLSQL self-testing. Also: We plan to have official release of utPLSQL-cli soon. Huge thanks to both @pesse and @viniciusam who did a lot of work to get us to that point. |
Our project files = this and another smaller whole DB schema! |
To map your project files to db objects use parameter
The regex-pattern defines what part of file path contains information about object owner, object name, object type. If your project structure/naming matches the default definitions - you're all set. If not, you need to override default configuration by providing a new REGEX and identify element position in regex for owner, object name, object type. |
@tkleiber |
@tkleiber Is the issue still present with utplsql-cli 3.0.4? |
The generation works now, it needs 12 minutes. |
Hm, that would mean to outsource parts of the logic of report generation to cli I guess. You probably won't be able to create such a report from pl/sql only. |
Yes. One reporter=one output stream. @tkleiber do you have sonar or any similar tools? |
At the moment we don't have sonar. This need some time to setup internal, as bank we can not use a cloud environment here. |
What CI are you using? How do you report coverage on other code that PLSQL? |
Jenkins and it's plugins. |
jacoco plugin |
OK. |
utPLSQL/utPLSQL#557 created for this |
it could be possible to reduce the generated size and support 'multiple files' if the coverage output was pushed into a zip file... using something like https://technology.amis.nl/2010/03/13/utl_compress-gzip-and-zlib/ that produces a BLOB, so it may only be useful for utl_file output of via the custom CLI |
Interesting idea. Reporter could create multi-file zip as BLOB and we could then unzip it in utPLSQL-cli side. That would require:
Quite a bit of work to be done (sounds like an Epic). It would be an interesting challenge. I've already managed to generate 200 MB thml report at work. |
Have updated now to utPLSQL v3.1.1 and utPLSQL-cli v3.1.0. The file is furthermore successfully created, but cannot be opened neither in IE nor in Chrome now. Only the broken loading icon / text is shown in the page. |
Is the "_assets" folder being created? |
The new folder raises a problem in combination using directories in the -o switch eg.: The resulting ut_coverage_html_reporter.html contains too the reference to this directory whis is wrong: This should furthermore be: As workaround I change now into the directory before calling the cli and use -o without directories. |
Great finding, thanks a lot! |
We have here an enterprise application with more than 1000 packages, functions and procedures with over 1 million LoC in one of the schemas.
We have created one fresh test now, and have to convert our v2 tests later.
Actually we start with utPLSQL v3 and want measure code coverage too.
I have tried this CLI in Jenkins, but after 10 minutes the build is broken. I have seen that 180 MB of html file of the report is written till then.
If I run CLI without coverage the build is successful in 4s.
The text was updated successfully, but these errors were encountered: