aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-09Allow setting auth_token at 1st container startupThomas Preud'homme
Removing or renaming machines or runs require to have an auth_token. This commit adds a mechanism to set that token on first startup of the LNT container by setting the LNT_AUTH_TOKEN environment variable. Reviewed By: tnfchris, PrzemekWirkus, cmatthews Differential Revision: https://reviews.llvm.org/D113470
2021-10-29 [LNT] Fixed possible crash or junk data in cPerfPavel Kosov
The return value of the first call of Dump.next() was not checked. Dump.getText() returned an uninitialized string (a junk string) if the objdump did not return an usable data for the specified address range. It caused a crash or inconsistent profile data. OS Laboratory. Huawei Russian Research Institute. Saint-Petersburg Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D112782
2021-10-28Disable mypy cacheThomas Preud'homme
Mypy crashes with "AssertionError: Cannot find module for UpdatedBase" when analyzing lnt/server/db/migrations/upgrade_0_to_1.py with a populated cache. This leads to a number of files not being analyzed by mypy. Reviewed By: cmatthews Differential Revision: https://reviews.llvm.org/D95033
2021-10-28[LNT] Refactored plot_parametersPavel Kosov
Arguments like plot.0=1.2.3 are the same for the pages Graph and Matrix. The class MatrixDataRequest has been renamed to PlotParameter The common code has been moved to helper functions assert_field_idx_valid(), load_plot_parameter(), parse_plot_parameters(),parse_and_load_plot_parameters(), parse_mean_parameter(). Renamed graph_parameters and data_parameters to plot_parameters. -- OS Laboratory. Huawei Russian Research Institute. Saint-Petersburg Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D112607
2021-10-27[LNT] Add more information to error messagesPavel Kosov
Add some useful information to HTTP errors with codes 400 and 404 to make it easier to understand which argument is missing or incorrect. Reviewed By: cmatthews Differential Revision: https://reviews.llvm.org/D112525 OS Laboratory. Huawei Russian Research Institute. Saint-Petersburg
2021-10-22Fix flake8 failuresThomas Preud'homme
Fix flake8 failures when running tox and add a note in the README to run tox for testing patches. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D112304
2021-10-22Fixed plistlib API usage for both python 2.7 and 3.xThomas Preud'homme
Reverted plistlib API for python 2.7 Related to: https://reviews.llvm.org/D109235 and https://reviews.llvm.org/D112136 Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D112202
2021-10-22[LNT] Fixed the standalone mode of cPerf for the debug purposePavel Kosov
It also initializes dict objects in the constructor to make the object PerfReader consistent. Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D112203 OS Laboratory, Huawei Russian Research Institute, Saint-Petersburg
2021-10-22Fix runtest/test_suite.shtest testThomas Preud'homme
Commit 81f67a894aef65812010e6d2d1b51c2963f8bc2d added a new code size metric to the CSV report template but did not update the corresponding CHECK-CSV FileCheck directives, leading the test to fail. This commit fixes the problem. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D112182
2021-10-21[LNT] Added reading nm and objdump paths from env variablesPavel Kosov
- Added reading nm and objdump paths from env variables - Added binaryCacheRoot Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D110839 OS Laboratory. Huawei Russian Research Institute. Saint-Petersburg
2021-10-20Install future to run mypy on Python 3Thomas Preud'homme
LNT uses future which does not come in standard in recent Python 3 versions, leading to mypy failing in Python 3 mode. Adding an explicit dependency on future solves the problem. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D112148
2021-10-20Fixed plistlib API usagePavel Kosov
plistlib API required the file object opened in the binary mode. Test command: lnt checkformat tests/SharedInputs/sample-a-small.plist Related to: https://reviews.llvm.org/D109235 Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D112136 Huawei Russian Research Institute, Saint-Petersburg
2021-10-11Added parameter missed during rebase.Pavel Kosov
2021-10-09[LNT] Added the ability to disable regressions processing to improve performancePavel Kosov
The regresssion processing can be disabled on the server side or per submit. Supported the option ignore_regressions = True in lnt.cfg to disable regresssion processing at all. Added the parameter --ignore-regressions to lnt submit command. Reviewed By: thopre, cmatthews Differential Revision: https://reviews.llvm.org/D111389
2021-09-21Added missed spaces in log messages, NFCPavel Kosov
2021-09-21[LNT] Fixed incomplete feature for submit JSON to a local instancePavel Kosov
LNT parses the test suite from the specified url for the submit command. But the suite is always default (nts) in case of using a local path to the instance instead of the url. This patch allows to specify the test suite in the submit command. Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D109578
2021-09-21Fixed relative address in LNT profile control-flow graph.Pavel Kosov
It seems the relative address in AArch64 disassembly is dec, not hex. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D110141
2021-09-21Revert "Fixed relative address in LNT profile control-flow graph."Thomas Preud'homme
This reverts commit 6ba06570364b936c6bfb631e9d2e4f1374446bad.
2021-09-16Fixed relative address in LNT profile control-flow graph.Dmitry Vassiliev
It seems the relative address in AArch64 disassembly is dec, not hex.
2021-09-13Docs pages should not mention SVN anymoreChris Matthews
2021-09-13Bump gunicorn versionChris Matthews
I have been using 19.9 on our servers for many months, it works great and has statsd support.
2021-09-11[LNT] Fixed missing code_size metricPavel Kosov
Fixed missing code_size metric in the final report Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D109576
2021-09-10[LNT] Fixed relative addresses parsing in ASM codePavel Kosov
Fixed relative addresses parsing in ASM code for Control Flow Graph on the Profile page Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D109575
2021-09-10[LNT] Fixed fieldchanges grouping to a regressionPavel Kosov
Note active_indicators is not a list of regression indicators. It is a list of fieldchanges actually. After that fix all new fieldchanges will be grouped mostly in the same regression as expected. It prevents creating of thousand new regressions and ageing them out immediately to keep regressions count under 50. Reviewed By: thopre Differential Revision: https://reviews.llvm.org/D109216
2021-09-08Use new plistlib APIThomas Preud'homme
Old plistlib API (e.g. readPlist and writePlist methods) has been dropped in Python 3.9. Update LNT to use the new Python 3 API. Reviewed By: cmatthews Differential Revision: https://reviews.llvm.org/D109235
2021-09-03Update pyyaml to fix build failure with Python 3.9Thomas Preud'homme
Upgrade pyyaml to the latest bugfix release for the next stable version: 5.1.2. This fixes a build failure when Python is 3.9. This requires migrating to yaml.safe_load to avoid warnings due to the use of unsafe load() method. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D109226
2021-09-01Use certifi for SSL certificatesChris Matthews
Certifi keeps an up-to-date list of certs, and makes it easier to inject extra certificates when needed. We often run in to SSL issues when using the LNT client to submit data. This will fix that.
2021-07-13Remove python-dateutil as a dependencyChris Matthews
This is a transitive dependency, no need to list it here.
2021-07-13Fix some old urls in docsChris Matthews
2021-07-13Make sure FCs and RI are flushed to the database before title rebuildChris Matthews
In some configurations the title rebuild would find no RIs. This should not be possible. Flush the newst RIs and FCs before title rebuild.
2021-07-12Enhance Regression audit logChris Matthews
To help debug issues with regression creation and update, log outcomes of common operations.
2021-07-12Fix "column cons.consrc does not exist"Chris Matthews
In a fresh install of LNT on Postgres 12 the upgrade scripts fail when trying to access cons.consrc because of: https://github.com/sqlalchemy/sqlalchemy/issues/4463 Upgrade sqlalchmey to 1.12.x, which is the first release that has the issue fixed.
2021-06-24Automatically install mypy stubsThomas Preud'homme
New mypy version 0.911 adds a --non-interactive option allowing us to install mypy stubs automatically and non interactively with --install-types --non-interactive. Reviewed By: PrzemekWirkus Differential Revision: https://reviews.llvm.org/D104775
2021-06-22Install missing mypy stubsThomas Preud'homme
Mypy currently warns about missing stubs to analyse LNT's code: lnt/server/ui/globals.py:5: error: Library stubs not installed for "flask" (or incompatible with Python 2.7) lnt/server/ui/decorators.py:1: error: Library stubs not installed for "flask" (or incompatible with Python 2.7) lnt/lnttool/convert.py:2: error: Library stubs not installed for "click" (or incompatible with Python 2.7) lnt/lnttool/common.py:2: error: Library stubs not installed for "click" (or incompatible with Python 2.7) lnt/lnttool/import_report.py:1: error: Library stubs not installed for "click" (or incompatible with Python 2.7) lnt/lnttool/admin.py:4: error: Library stubs not installed for "click" (or incompatible with Python 2.7) This commits adds the necessary dependency to get rid of those warnings. Reviewed By: PrzemekWirkus Differential Revision: https://reviews.llvm.org/D104706
2021-06-22Pin lit to Python2-compatible versionThomas Preud'homme
Python2 testing of LNT fails because latest LIT no longer supports Python2. This commit pins lit to an earlier version that still does. Reviewed By: PrzemekWirkus Differential Revision: https://reviews.llvm.org/D104705
2021-01-20Install future before running sphinxThomas Preud'homme
Fix Sphinx warning about lack of module named 'future' by making the installation of future a dependency of sphinx in tox.ini Reviewed By: danilaml Differential Revision: https://reviews.llvm.org/D95069
2021-01-20Fix mypy warning about short_help using __doc__Thomas Preud'homme
Several click.command use __doc__ for the short_help but mypy is getting confused because its type is a union between str and unicode due to changes between Python2 and Python3. This commit clarifies to Mypy that it is a string by calling str on __doc__. Reviewed By: danilaml Differential Revision: https://reviews.llvm.org/D95067
2021-01-20Fix type hint for add_column in lnt.server.db.utilThomas Preud'homme
statement variable in lnt.server.db.util's add_column method is of type DDLElement. As per [1], the bind argument of its execute() method is optional and take "an Engine or Connection". This commit updates add_column's type hint accordingly. [1] https://docs.sqlalchemy.org/en/13/core/ddl.html#sqlalchemy.schema.DDLElement.execute Reviewed By: danilaml Differential Revision: https://reviews.llvm.org/D95064
2021-01-20Help mypy with typingThomas Preud'homme
Give the type to _files and _queue which mypy is confused about. Reviewed By: danilaml Differential Revision: https://reviews.llvm.org/D95068
2021-01-20Fix return type in baseline()'s type hintThomas Preud'homme
Reviewed By: danilaml Differential Revision: https://reviews.llvm.org/D95066
2021-01-20Tell mypy to ignore import of cython moduleThomas Preud'homme
Mypy complains following the import of cPerf because it cannot find the module. This is because it is a cython module which mypy cannot inspect. This commit tells mypy to ignore that import. Reviewed By: danilaml Differential Revision: https://reviews.llvm.org/D95065
2021-01-20Mirror LLVM's arc configThomas Preud'homme
Make LNT's arc config follow the same structure as LLVM's except for the callsign since phabricator does not have a repository for LNT yet. Reviewed By: cmatthews Differential Revision: https://reviews.llvm.org/D94759
2021-01-18[LNT] Fix some ResourceWarningsDanila Malyutin
Differential Revision: https://reviews.llvm.org/D94767
2021-01-16Extend mandatory Flake8 cleannessThomas Preud'homme
With the wider Flake8 run clean, this commit makes it mandatory and removes the redundant narrower Flake8 call on the whitelist, removing the now useless whitelist. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D94842
2021-01-16Fix use of undefined session variableThomas Preud'homme
Commit eb0f1b51e7bcf46cf8868ea0186f8e8f086e6ed8 introduced uses of variable session in lnt/server/reporting/summaryreport.py but one of them is in function _build_data_table() which does not have a session parameter. This commit adds the parameter and update call sites accordingly, fixing one of Flake8's F821 warning (undefined name). Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D94837
2021-01-16Fix line too long Flake8 warningThomas Preud'homme
Flake8's last remaining warning is about a multiline string being more than 120 characters. This breaks the line up, fixing the last Flake8 warning. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D94841
2021-01-16Add import needed for typing hintsThomas Preud'homme
baseline()'s typing hint refers to testsuitedb type but there is no import for that module. This commit fixes that. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D94840
2021-01-16Fix OrderField's copy constructorThomas Preud'homme
OrderField's copy constructor has a typo in the constructor to call. This commit fixes it to refer to OrderField's constructor. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D94839
2021-01-16Remove nonsensical fct definitionThomas Preud'homme
Aggregation's getvalue function has a nonsensical definition and is thus not used by anything. This commit removes it. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D94838
2021-01-15Fix ambiguous variable namesThomas Preud'homme
Fix Flake8's E741 errors (ambiguous variable name). This prevents confusion when reading code with a font that does not distinguish clearly between l, 1 and I. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D94799