]> sourceware.org Git - bunsen.git/log
bunsen.git
19 months agor-httpd-browse: add mispredicted count to dgsummary views
Frank Ch. Eigler [Wed, 8 Feb 2023 16:08:46 +0000 (11:08 -0500)]
r-httpd-browse: add mispredicted count to dgsummary views

19 months agor-dejagnu-testcase-classify: tweak vocabulary usage
Frank Ch. Eigler [Mon, 6 Feb 2023 18:14:50 +0000 (13:14 -0500)]
r-dejagnu-testcase-classify: tweak vocabulary usage

- tag index 0 as padding/unknown
- report on full vocabulary during training

20 months agor-httpd-browse: column typo fix
Frank Ch. Eigler [Sat, 4 Feb 2023 19:03:41 +0000 (14:03 -0500)]
r-httpd-browse: column typo fix

20 months agor-httpd-browse.in: amtestdir column reorder
Frank Ch. Eigler [Sat, 4 Feb 2023 19:00:26 +0000 (14:00 -0500)]
r-httpd-browse.in: amtestdir column reorder

20 months agor-httpd-browse: another positional arg -- quote
Frank Ch. Eigler [Fri, 3 Feb 2023 21:10:36 +0000 (16:10 -0500)]
r-httpd-browse: another positional arg -- quote

20 months agoconfigury: no more need for torchtext
Frank Ch. Eigler [Fri, 3 Feb 2023 21:03:56 +0000 (16:03 -0500)]
configury: no more need for torchtext

20 months agor-dejagnu-testcase-classify: add own version-insensitive vocabulary class
Frank Ch. Eigler [Fri, 3 Feb 2023 21:01:25 +0000 (16:01 -0500)]
r-dejagnu-testcase-classify: add own version-insensitive vocabulary class

... essential, as saved Vocab objects cannot be reused across torchtext versions
... and might as well make it somewhat flexible for future tokens in future
    training sessions
... and experimenting with a different tokenizing regexp, preserving larger classes of words intact

20 months agoadapt to logging.warn -> .warning deprecation
Frank Ch. Eigler [Fri, 3 Feb 2023 20:52:33 +0000 (15:52 -0500)]
adapt to logging.warn -> .warning deprecation

20 months agoconfigury: torch modules are optional
Frank Ch. Eigler [Fri, 3 Feb 2023 16:13:24 +0000 (11:13 -0500)]
configury: torch modules are optional

20 months agoconfigury for more python prereqs
Frank Ch. Eigler [Fri, 3 Feb 2023 16:11:47 +0000 (11:11 -0500)]
configury for more python prereqs

20 months agor-httpd-browse: add stats/entropy views
Frank Ch. Eigler [Fri, 3 Feb 2023 15:54:29 +0000 (10:54 -0500)]
r-httpd-browse: add stats/entropy views

r-httpd-browse
  - add initial prediction/entropy data to testrun dejagnu tab
  - also, systematically prefix outgoing subcommand
    positional argument lists with "--" to prevent arg injection

r-dejagnu-testcase-classify
  - add exact expfile match mode

20 months agor-dejagnu-testcase-classify: add likelihood output to (mis)predictions
Frank Ch. Eigler [Mon, 30 Jan 2023 18:48:38 +0000 (13:48 -0500)]
r-dejagnu-testcase-classify: add likelihood output to (mis)predictions

20 months agor-dejagnu-testcase-classify: prototype pytorch-based test case predictor
Frank Ch. Eigler [Tue, 24 Jan 2023 22:16:12 +0000 (17:16 -0500)]
r-dejagnu-testcase-classify: prototype pytorch-based test case predictor

20 months agor-find-testruns, r-httpd-browse: support a second metadata filter predicate
Frank Ch. Eigler [Sat, 7 Jan 2023 16:21:39 +0000 (11:21 -0500)]
r-find-testruns, r-httpd-browse: support a second metadata filter predicate

20 months agoreactivate cluster dejagnu-entropy analysis
Frank Ch. Eigler [Thu, 5 Jan 2023 20:21:47 +0000 (15:21 -0500)]
reactivate cluster dejagnu-entropy analysis

With cluster record lifecycles corrected and long, the entropy
calculation can come back in business.  Update on a routine --update
call is brief.

20 months agofix cluster garbage collection
Frank Ch. Eigler [Thu, 5 Jan 2023 18:58:43 +0000 (13:58 -0500)]
fix cluster garbage collection

When testruns underlying clusters are removed via aging or whatnot,
clusters can stick around.  (The doubly-linked record chain can simply
skip them, but no FK etc. constraint automatically erases them.)  With
--update mode, clean up any that have lost all their members.  This
reduces cluster entropy etc. work also.

21 months agosome new r-* man pages
Frank Ch. Eigler [Sat, 17 Dec 2022 20:01:34 +0000 (15:01 -0500)]
some new r-* man pages

21 months agot-untag-testruns: handle hypothetical case of 0-byte testrun commit for log2 sizing
Frank Ch. Eigler [Tue, 13 Dec 2022 02:05:44 +0000 (21:05 -0500)]
t-untag-testruns: handle hypothetical case of 0-byte testrun commit for log2 sizing

21 months agosome more man pages
Frank Ch. Eigler [Tue, 13 Dec 2022 02:01:58 +0000 (21:01 -0500)]
some more man pages

22 months agot-untag-testruns: tweak diagnostics
Frank Ch. Eigler [Fri, 2 Dec 2022 22:14:55 +0000 (17:14 -0500)]
t-untag-testruns: tweak diagnostics

22 months agot-untag-testruns: new tool to untag (age out) entries from git testrun database
Frank Ch. Eigler [Fri, 2 Dec 2022 19:46:06 +0000 (14:46 -0500)]
t-untag-testruns: new tool to untag (age out) entries from git testrun database

With a (slowish) test.

22 months agopipeline: drop the analyze
Frank Ch. Eigler [Fri, 25 Nov 2022 15:00:52 +0000 (10:00 -0500)]
pipeline: drop the analyze

Individual analysis passes run optimize ops as they need to already.
The "analyze" op here has been observed to suck up cpu & I/O, despite
a pragma analysis_limit setting.

22 months agog-testrun-clusterfinder: rework
Frank Ch. Eigler [Thu, 24 Nov 2022 20:50:55 +0000 (15:50 -0500)]
g-testrun-clusterfinder: rework

Rework so this analysis pass preserves database records as much as
possible, modifying them in place rather than deleting & reinserting.
This dramatically reduces I/O during the routine update operation.

22 months agoi-testrun-indexer: note authored_date timestamp in info message
Frank Ch. Eigler [Mon, 14 Nov 2022 19:48:41 +0000 (14:48 -0500)]
i-testrun-indexer: note authored_date timestamp in info message

22 months agopipeline: sort new_testruns
Frank Ch. Eigler [Mon, 14 Nov 2022 16:23:04 +0000 (11:23 -0500)]
pipeline: sort new_testruns

Operate on new testruns in young-to-old order, so that if a pipeline
runs are partial (such as running under timeout control), new content
will dominate.

Also: tweak database size report for KiB/MiB/GiB flexibility.
Also: tweak auto_vacuum setting sequence for effectiveness

22 months agoauto_vacuum: try 1 then 2 in both pipeline and i-testrun-indexer
Frank Ch. Eigler [Thu, 10 Nov 2022 22:23:53 +0000 (17:23 -0500)]
auto_vacuum: try 1 then 2 in both pipeline and i-testrun-indexer

observing on rhel8 era sqlite3 that =2 is not taking effect as expected

22 months agoi-testrun-indexer: move pragma auto_vacuum here
Frank Ch. Eigler [Thu, 10 Nov 2022 22:09:20 +0000 (17:09 -0500)]
i-testrun-indexer: move pragma auto_vacuum here

... because in the pipeline process where it previously was, it was
mistimed.  This pragma apparently needs to be set in a sqlite client
process that inserts the first rows into a table.

22 months agoFix several bugs in r-dejagnu-diff-logs
Keith Seitz [Tue, 8 Nov 2022 20:34:41 +0000 (12:34 -0800)]
Fix several bugs in r-dejagnu-diff-logs

This patch fixes several bugs that I encountered while doing some usability
testing:

1. In diff_subtest_lines, the output filter used by the "diff" jinja template,
    we run over the list of lines, adding newlines if necessary. If the log
    file contains an empty line (simply '\n'), the following error would
    result:

    File "/usr/local/bin/r-dejagnu-diff-logs", line 56, in <listcomp>
    lines2 = [t + '\n' if t[-1] != '\n' else t for t in subtest['commits'][1]['lines']]
                              ~^^^^
    IndexError: string index out of range

    Since get_log_lines ALWAYS strips newlines, we can safely ALWAYS
    add them in diff_subtest_lines.

2. If the user does not specify a subtest or specifies an invalid one,
    the script would silently exit. Since all DejaGNU subtests are named
    'testfile.exp: subtest', if we don't find a colon, we have malformed
    input. Issue an error in this instance.

3. If the user specifies a subtest which is not found in either the
    before (or as i call it unpatched) and after (patched) runs,
    issue an error informing them that the subtest does not exist.

23 months agoR-show-testcases visual improvements round2
Serhei Makarov [Tue, 18 Oct 2022 20:45:41 +0000 (16:45 -0400)]
R-show-testcases visual improvements round2

- use symmetric diffs for colour differentiation
- use papaya whip to identify fixed subtests
- highlight newly failing subtests in bold to avoid headach

XXX uglitude of the code is greatly increased, hence round3
will factor out some convenience functions. Since 'grid entry'
is an intelligible item in many conceivable reports, these
might even make it into the any-day-now library.

23 months agocommit regexen: update for stap's git-release log tweak
Serhei Makarov [Tue, 18 Oct 2022 18:03:40 +0000 (14:03 -0400)]
commit regexen: update for stap's git-release log tweak

Otherwise, commits were not identified for the most recent stap version.

23 months agoR-show-testcases bugfixes + visual improvements round1
Serhei Makarov [Tue, 18 Oct 2022 16:11:37 +0000 (12:11 -0400)]
R-show-testcases bugfixes + visual improvements round1

- FIX oops: first/last swapped
- FIX oops: count only fails
- stabilize sort order for configurations
- colour differentiation for changed/unchanged fail counts

2 years agoconfigury: remove "git dist" target
Frank Ch. Eigler [Tue, 4 Oct 2022 15:25:13 +0000 (11:25 -0400)]
configury: remove "git dist" target

We can issue release tarballs or whatever just as easily from git, and
dropping related macros reduces automake make-work.

2 years agoAdd Containerfile / quay.io quick start info
Frank Ch. Eigler [Thu, 29 Sep 2022 19:35:42 +0000 (15:35 -0400)]
Add Containerfile / quay.io quick start info

It's not too hard to package bunsen snapshots as runnable container
images, so document this too.

If authenticated, maintainers can use "make quay" to push updates to our
https://quay.io/repository/bunsen-testsuite-analysis/bunsen image repo.

2 years agoregen configury
Frank Ch. Eigler [Thu, 29 Sep 2022 16:10:18 +0000 (12:10 -0400)]
regen configury

2 years agotweak doc formatting with © sign
Frank Ch. Eigler [Thu, 29 Sep 2022 14:48:57 +0000 (10:48 -0400)]
tweak doc formatting with © sign

2 years agoDesignated SPDX-License-Identifier: LGPL-3.0-or-later throughout
Frank Ch. Eigler [Thu, 29 Sep 2022 14:40:16 +0000 (10:40 -0400)]
Designated SPDX-License-Identifier: LGPL-3.0-or-later throughout

2 years agoREADME: R-show-testcases option is --has-expfile-like
Serhei Makarov [Thu, 22 Sep 2022 15:13:08 +0000 (11:13 -0400)]
README: R-show-testcases option is --has-expfile-like

2 years agopoint r-httpd-browser footer to project home page cauldron2022-demo
Frank Ch. Eigler [Fri, 16 Sep 2022 21:49:51 +0000 (17:49 -0400)]
point r-httpd-browser footer to project home page

2 years agor-httpd-browse: add tighter/controlled cluster navigation links
Frank Ch. Eigler [Mon, 12 Sep 2022 23:39:35 +0000 (19:39 -0400)]
r-httpd-browse: add tighter/controlled cluster navigation links

- cluster linkage from the testrun metadata viewer now passes the
  destination cluster via keyvalue type parameters instead of
  enumerating (potentially very many) commitishes

- added a backup limiting facility to hide cluster-relative diff/regress
  links that are likely to fail anyway

- also in the name of user not accidentally getting too much data,
  dropped the "all testruns" link from top /testruns/ listing

- added a --has-keyvalue to r-diff-testruns, to identify cluster
  to compare to given committishes

- generalized --has-keyvalue[-like,-glob] to --has-keyvalue K V
  [--has-keyvalue-op OPERATOR] for r-find-testruns, with = being
  preferable for cluster direct naviation links from the web frontend,
  so metacharacter quoting doesnt interfere (as it could with %/* in
  metadata value); ditched the previous -like and -glob option, which is
  a cli break; could bring it back if desirable

2 years agoR-show-testcases ui: hide details via 'hide' link
Serhei Makarov [Wed, 7 Sep 2022 19:51:57 +0000 (15:51 -0400)]
R-show-testcases ui: hide details via 'hide' link

Based on experience working with the results for the previous SystemTap
release, the previous ui behaviour where you click anywhere in the
details view to hide the subtests was very suboptimal.
For example, when I wanted to pastebin / diff the contents of a cell,
I found myself trying and failing to copy/paste detail text,
then giving up and hunting for the text in the raw HTML. Not good.

Solved by introducing an explicit 'hide' link and making the table cell
itself only respond to clicks when the details are hidden.

This work enables follow-up patches to add other buttons/links to the
details view (e.g. diff, more).

Unbelievable number of ways to get this seemingly basic DOM edit wrong,
I know because I tried most of them :p

2 years agoi-testrun-indexer: use git-describe --tags vs. --all
Frank Ch. Eigler [Tue, 30 Aug 2022 15:42:15 +0000 (11:42 -0400)]
i-testrun-indexer: use git-describe --tags vs. --all

The new config prevents multiple testruns in commits to a branch from
simply being labeled after the same branch head name.

2 years agor-httpd-browse.in: has_keyv_k is an orphan variable?
Serhei Makarov [Tue, 30 Aug 2022 19:06:21 +0000 (15:06 -0400)]
r-httpd-browse.in: has_keyv_k is an orphan variable?

(Not mentioned anywhere else in the code,
so this might be a missed earlier refactoring.
Had to delete for the code to work.)

2 years agor-httpd-browse.in: just another hint to re-run the pipeline
Serhei Makarov [Tue, 30 Aug 2022 18:34:17 +0000 (14:34 -0400)]
r-httpd-browse.in: just another hint to re-run the pipeline

2 years agor-httpd-browse.in: switch the form to 'glob' instead of 'like'
Serhei Makarov [Mon, 29 Aug 2022 21:13:11 +0000 (17:13 -0400)]
r-httpd-browse.in: switch the form to 'glob' instead of 'like'

TODO: A flipflop in the form could be used to set glob/like
options but that would be too complicated. Instead, the 'like'
querystrings are kept for compatibility purposes but not reflected in
the form.

2 years agor-httpd-browse.in: add a 'glob' querystring option
Serhei Makarov [Mon, 29 Aug 2022 21:12:31 +0000 (17:12 -0400)]
r-httpd-browse.in: add a 'glob' querystring option

2 years agoR-show-testcases: standardize on --has-expfile-* option name
Serhei Makarov [Mon, 29 Aug 2022 20:42:25 +0000 (16:42 -0400)]
R-show-testcases: standardize on --has-expfile-* option name

2 years agor-find-testruns: add option for --has-*-glob
Serhei Makarov [Mon, 29 Aug 2022 20:37:37 +0000 (16:37 -0400)]
r-find-testruns: add option for --has-*-glob

Glob glob glob glob glob glob glob glob glob glob glob glob
glob glob glob glob glob
glob glob glob glob glob glob glob glob.

Glob.

Slightly loosens the key match for --has-keyvalue-like.

2 years agoR-show-testcases: --expfile-glob in addition to --expfile-like
Serhei Makarov [Mon, 29 Aug 2022 14:53:18 +0000 (10:53 -0400)]
R-show-testcases: --expfile-glob in addition to --expfile-like

2 years agoR-show-testcases: fix testcase numbering
Serhei Makarov [Mon, 29 Aug 2022 14:45:48 +0000 (10:45 -0400)]
R-show-testcases: fix testcase numbering

2 years agoR-show-testcases: fix earliest/latest versions
Serhei Makarov [Mon, 29 Aug 2022 14:30:40 +0000 (10:30 -0400)]
R-show-testcases: fix earliest/latest versions

2 years agoR-show-testcases: fix sort order, display 'baseline' versions
Serhei Makarov [Fri, 26 Aug 2022 20:14:03 +0000 (16:14 -0400)]
R-show-testcases: fix sort order, display 'baseline' versions

Additional code is needed to make the 'earliest' and 'latest' columns
dynamic (with the earliest/latest tested version in each row)
rather than merely showing the first and last versions in the sequence
that may be empty.

2 years agoR-show-testcases: slicing fixes for --expfile-like
Serhei Makarov [Thu, 25 Aug 2022 21:02:36 +0000 (17:02 -0400)]
R-show-testcases: slicing fixes for --expfile-like

2 years agoR-show-testcases: click on commit ID to visit gitweb
Serhei Makarov [Thu, 25 Aug 2022 20:31:42 +0000 (16:31 -0400)]
R-show-testcases: click on commit ID to visit gitweb

2 years agoR-show-testcases: hover over version ID to see commit summary
Serhei Makarov [Thu, 25 Aug 2022 20:24:35 +0000 (16:24 -0400)]
R-show-testcases: hover over version ID to see commit summary

2 years agoR-show-testcases: show detailed failures in clickable view
Serhei Makarov [Thu, 25 Aug 2022 15:47:36 +0000 (11:47 -0400)]
R-show-testcases: show detailed failures in clickable view

2 years agor-diff-testruns: add --regressions mode
Frank Ch. Eigler [Mon, 22 Aug 2022 22:31:41 +0000 (18:31 -0400)]
r-diff-testruns: add --regressions mode

This limits output to only pass->fail type transitions among the given
testruns.  (autoconf config.log entries are not identified as
regressions at all.)  Update r-httpd-browse to expose this function at
the testruns list (using maybe cryptic delta / nabla symbolism) and at
the testrun-diffs view as "switch to ...." alternation.  Yeah it's a
bit ugly & inconsistent.

2 years agoR-show-testcases: enable in Makefiles
Serhei Makarov [Mon, 22 Aug 2022 17:41:00 +0000 (13:41 -0400)]
R-show-testcases: enable in Makefiles

2 years agoR-show-testcases: filter identical configuration values
Serhei Makarov [Mon, 22 Aug 2022 17:37:01 +0000 (13:37 -0400)]
R-show-testcases: filter identical configuration values

2 years agoR-show-testcases: compact hexsha in version field
Serhei Makarov [Mon, 22 Aug 2022 17:36:45 +0000 (13:36 -0400)]
R-show-testcases: compact hexsha in version field

2 years agor-dejagnu-summary: use argparse action 'store_true'
Keith Seitz [Thu, 18 Aug 2022 19:32:21 +0000 (12:32 -0700)]
r-dejagnu-summary: use argparse action 'store_true'

This script currently uses argparse.BooleanOptionalArgument, but this
action was only recently introduced in Python 3.9. Older systems such as RHEL8
(with Python 3.6.8) throw an AttributeError with this.

Solve this by returning to 'store_true' which works everywhere.

2 years agor-dejagnu-diff-logs: fix patched-unpatched typo
Keith Seitz [Mon, 15 Aug 2022 16:25:24 +0000 (09:25 -0700)]
r-dejagnu-diff-logs: fix patched-unpatched typo

There is a little typo in get_commits() which could (or will) cause the
user some confusion. The unpatched and patched commits are reversed
because of a typo!

2 years agoAdd r-dejagnu-diff-logs to bin_SCRIPTS
Keith Seitz [Mon, 1 Aug 2022 16:43:37 +0000 (09:43 -0700)]
Add r-dejagnu-diff-logs to bin_SCRIPTS

When I committed this patch, I failed to do this, and the script was not being
installed.

2 years agoREADME: initial blurb for R-show-testcases
Serhei Makarov [Mon, 22 Aug 2022 15:26:47 +0000 (11:26 -0400)]
README: initial blurb for R-show-testcases

2 years agoR-show-testcases: compactify 'distro' field in configuration
Serhei Makarov [Mon, 22 Aug 2022 15:20:44 +0000 (11:20 -0400)]
R-show-testcases: compactify 'distro' field in configuration

2 years agoTODO++
Frank Ch. Eigler [Fri, 19 Aug 2022 20:27:44 +0000 (16:27 -0400)]
TODO++

2 years agoTODO: update serhei's section, some concerns might be outdated
Serhei Makarov [Fri, 19 Aug 2022 15:15:39 +0000 (11:15 -0400)]
TODO: update serhei's section, some concerns might be outdated

2 years agoR-show-testcases cosmetic: spurious <hr/> at top of file
Serhei Makarov [Fri, 19 Aug 2022 14:59:33 +0000 (10:59 -0400)]
R-show-testcases cosmetic: spurious <hr/> at top of file

2 years agoMerge branch 'serhei/R-show-testcases' into fche/bunsenql
Serhei Makarov [Thu, 18 Aug 2022 21:07:13 +0000 (17:07 -0400)]
Merge branch 'serhei/R-show-testcases' into fche/bunsenql

2 years agoR-show-testcases: initial version rendering the basic grid serhei/R-show-testcases
Serhei Makarov [Thu, 18 Aug 2022 21:05:30 +0000 (17:05 -0400)]
R-show-testcases: initial version rendering the basic grid

2 years agoWIP: grid is visible, need to fix CSS glitches
Serhei Makarov [Wed, 17 Aug 2022 17:04:57 +0000 (13:04 -0400)]
WIP: grid is visible, need to fix CSS glitches

2 years agoWIP: it's over 1000...
Serhei Makarov [Tue, 16 Aug 2022 21:07:36 +0000 (17:07 -0400)]
WIP: it's over 1000...

Definitely straining the limits of the 'we don't need a library' idea.

2 years agoWIP: benchmarking grid construction
Serhei Makarov [Tue, 9 Aug 2022 16:49:50 +0000 (12:49 -0400)]
WIP: benchmarking grid construction

With judicious use of the slice_testcases feature I can build
release-4.6..now in about 1:45 on my laptop. Previously I used
a beefy server with a big memory, so this could be interpreted
as an improvement.

2 years agoWIP: bugfixes, add 'slicing' performance tradeoff
Serhei Makarov [Mon, 8 Aug 2022 16:04:22 +0000 (12:04 -0400)]
WIP: bugfixes, add 'slicing' performance tradeoff

Since results are generated in alphabetical order of testcase,
the code doesn't strictly need to load *all* the testcase data
into memory at once. This was a performance issue with the
prototype branch version of this script.

This slows down report generation but allows it to be done on smaller
systems with memory constraints. Such as my laptop.

2 years agor-httpd-browse: soil from pure source executability, for a good cause
Frank Ch. Eigler [Sat, 6 Aug 2022 00:53:52 +0000 (20:53 -0400)]
r-httpd-browse: soil from pure source executability, for a good cause

- r-httpd-browse is now autoconf'd, to give it an autoconf-time git-version info footer
  ->> now a "make" is required to get a runnable script, sorry :(
- added a baby css endpoint
- updated all tables to emit extra class="" attributes to make tables easier on the eyes

2 years agopipeline: add options to control engine selection/sequencing
Frank Ch. Eigler [Thu, 4 Aug 2022 19:58:11 +0000 (15:58 -0400)]
pipeline: add options to control engine selection/sequencing

[--i-engine ENGINE] and [--g-engine ENGINE] allow the user to control
which if any engines are run.  This is useful in case an engine
evolves to extract more data (oh hai autoconflog), so we want to
--redo their runs only, but not run any other engines.

2 years agoautoconflog parser: get more data out
Frank Ch. Eigler [Thu, 4 Aug 2022 19:02:14 +0000 (15:02 -0400)]
autoconflog parser: get more data out

- get some key/value tuples out of the config.log header
- get config.h output #define's as additional testresults

2 years agoTODO--
Frank Ch. Eigler [Thu, 4 Aug 2022 19:02:06 +0000 (15:02 -0400)]
TODO--

2 years agor-httpd-browse: tweak diff view for tab-like links at top
Frank Ch. Eigler [Wed, 3 Aug 2022 19:28:39 +0000 (15:28 -0400)]
r-httpd-browse: tweak diff view for tab-like links at top

2 years agor-diff-testruns, r-httpd-browse: add autoconflog difference computation & reporting
Frank Ch. Eigler [Wed, 3 Aug 2022 14:48:52 +0000 (10:48 -0400)]
r-diff-testruns, r-httpd-browse: add autoconflog difference computation & reporting

2 years agor-diff-testruns, r-httpd-browse: add glibc testsuite diffs
Frank Ch. Eigler [Tue, 2 Aug 2022 23:09:52 +0000 (19:09 -0400)]
r-diff-testruns, r-httpd-browse: add glibc testsuite diffs

2 years agoWIP early code: cache redundant Git lookups
Serhei Makarov [Tue, 2 Aug 2022 18:36:17 +0000 (14:36 -0400)]
WIP early code: cache redundant Git lookups

Not caching the redundant git lookups for just a couple of refspecs
absolutely destroyed performance for building the version history.
Conversely, caching them un-destroys performance.

2 years agoWIP early code: R-show-testcases git commit history
Serhei Makarov [Fri, 29 Jul 2022 19:41:58 +0000 (15:41 -0400)]
WIP early code: R-show-testcases git commit history

A portion of the version index (the part covered by index_versions()
could be cached in the db); the rest is parametrized.

Still fairly slow. Could solve by unifying the sql queries in
Testrun+get_all_testruns into

select tr.id, tr.gitcommit, tr.key, tr.value
from testrun_kv tkv, testrun tr
where tr.id = tkv.tr

and sorting through the resulting big table.

2 years agor-httpd-browse: testruns: "show all testruns" set limit=0 via hidden field instead...
Frank Ch. Eigler [Thu, 28 Jul 2022 00:59:23 +0000 (20:59 -0400)]
r-httpd-browse: testruns: "show all testruns" set limit=0 via hidden field instead of form action=url

2 years agor-httpd-browse: make "show all testruns" button show all testruns (limit=0)
Frank Ch. Eigler [Wed, 27 Jul 2022 22:01:09 +0000 (18:01 -0400)]
r-httpd-browse: make "show all testruns" button show all testruns (limit=0)

2 years agor-httpd-browse: list testruns in batches, add limit/offset navigation buttons
Frank Ch. Eigler [Wed, 27 Jul 2022 21:25:47 +0000 (17:25 -0400)]
r-httpd-browse: list testruns in batches, add limit/offset navigation buttons

2 years agoTODO--
Frank Ch. Eigler [Wed, 27 Jul 2022 21:25:26 +0000 (17:25 -0400)]
TODO--

2 years agoi-automake-parser: support sim/ relocation of test-suite.log
Frank Ch. Eigler [Wed, 27 Jul 2022 19:27:20 +0000 (15:27 -0400)]
i-automake-parser: support sim/ relocation of test-suite.log

For the sim/ (sibling of gdb) project, there is a small automake
testsuite alongside the dejagnu one, but it moved the test-suite.log
trigger file somewhere farther than this engine expected.  We now
accept trs/log files anywhere at or beneath the directory where the
test-suite.log file happens to be sitting.

2 years agor-diff-testruns, r-httpd-browse: support automake testsuite diff computation / reporting
Frank Ch. Eigler [Tue, 26 Jul 2022 20:18:16 +0000 (16:18 -0400)]
r-diff-testruns, r-httpd-browse: support automake testsuite diff computation / reporting

- including new test case

2 years agoAdd subtest log diff script
Keith Seitz [Tue, 26 Jul 2022 16:04:07 +0000 (09:04 -0700)]
Add subtest log diff script

This patch introduces a new script, r-dejagnu-diff-logs, which will output
various styles of diffs for a given subtest between two commitishes.

I use this when doing regression testing analysis to quickly see how results
between test runs has changed. It is much faster and more convenient than
opening logfiles in a pager, for example.

Supported output templates are:

1) text
$ r-dejagnu-diff-logs unpatched patched 'gdb.base/included.exp: list integer'
commitish: unpatched: gdb.base/included.exp: list integer (FAIL)
< info source
< Current source file is ../../../src/gdb/testsuite/gdb.base/included.c
< Compilation directory is /home/keiths/work/gdb/branches/amd-v2-may-16/linux/gdb/testsuite
< Located in /home/keiths/work/gdb/branches/amd-v2-may-16/src/gdb/testsuite/gdb.base/included.c
< Contains 24 lines.
< Source language is c.
< Producer is clang version 14.0.0 (Fedora 14.0.0-1.fc36).
< Compiled with DWARF 5 debugging format.
< Includes preprocessor macro info.
< (gdb) list integer
< 18 #include "included.h"
< (gdb) FAIL: gdb.base/included.exp: list integer
commitish: patched: gdb.base/included.exp: list integer (PASS)
> info source
> Current source file is ../../../src/gdb/testsuite/gdb.base/included.c
> Compilation directory is /home/keiths/work/gdb/branches/amd-v2-may-16/linux/gdb/testsuite
> Located in /home/keiths/work/gdb/branches/amd-v2-may-16/src/gdb/testsuite/gdb.base/included.c
> Contains 24 lines.
> Source language is c.
> Producer is clang version 14.0.0 (Fedora 14.0.0-1.fc36).
> Compiled with DWARF 5 debugging format.
> Includes preprocessor macro info.
> (gdb) list integer
> 18 int integer;
> (gdb) PASS: gdb.base/included.exp: list integer

2) json
$ r-dejagnu-diff-logs --template json unpatched patched \
   'gdb.base/included.exp: list integer' | jq
[
  {
    "commits": [
      {
        "commitish": "unpatched",
        "lines": [
          "info source",
          "Current source file is ../../../src/gdb/testsuite/gdb.base/included.c",
          "Compilation directory is /home/keiths/work/gdb/branches/amd-v2-may-16/linux/gdb/testsuite",
          "Located in /home/keiths/work/gdb/branches/amd-v2-may-16/src/gdb/testsuite/gdb.base/included.c",
          "Contains 24 lines.",
          "Source language is c.",
          "Producer is clang version 14.0.0 (Fedora 14.0.0-1.fc36).",
          "Compiled with DWARF 5 debugging format.",
          "Includes preprocessor macro info.",
          "(gdb) list integer",
          "18\t#include \"included.h\"",
          "(gdb) FAIL: gdb.base/included.exp: list integer"
        ],
        "outcome": "FAIL"
      },
      {
        "commitish": "patched",
        "lines": [
          "info source",
          "Current source file is ../../../src/gdb/testsuite/gdb.base/included.c",
          "Compilation directory is /home/keiths/work/gdb/branches/amd-v2-may-16/linux/gdb/testsuite",
          "Located in /home/keiths/work/gdb/branches/amd-v2-may-16/src/gdb/testsuite/gdb.base/included.c",
          "Contains 24 lines.",
          "Source language is c.",
          "Producer is clang version 14.0.0 (Fedora 14.0.0-1.fc36).",
          "Compiled with DWARF 5 debugging format.",
          "Includes preprocessor macro info.",
          "(gdb) list integer",
          "18\tint integer;",
          "(gdb) PASS: gdb.base/included.exp: list integer"
        ],
        "outcome": "PASS"
      }
    ],
    "name": "gdb.base/included.exp: list integer"
  }
]

3) diff
$ r-dejagnu-diff-logs --template diff unpatched patched \
   'gdb.base/included.exp: list integer'
*** unpatched: gdb.base/included.exp: list integer

2 years agoWIP early code: R-show-testcases matching +show-testcases from the old branch
Serhei Makarov [Mon, 25 Jul 2022 18:57:55 +0000 (14:57 -0400)]
WIP early code: R-show-testcases matching +show-testcases from the old branch

For the time being, I'm mired in implementing the various version-range
selection options that came out of mcermak's use of +show_testcases.
Since the goal of this port is to ditch the current main branch
of Bunsen and promote fche/bunsenql to the new main branch prior
to Cauldron, this work isn't really skippable anyways.

The lack of library facilities is annoying but progress is ongoing.
Pushing 'pastebin' quality early code is also annoying but some
visibility is needed into this work by other people.

2 years agoconfigury: look for jq tool (for tests)
Frank Ch. Eigler [Fri, 22 Jul 2022 16:39:03 +0000 (12:39 -0400)]
configury: look for jq tool (for tests)

- regen with f36 autotools

2 years agog-testrun-clusterfinder: drop periodic timing messages
Frank Ch. Eigler [Tue, 19 Jul 2022 13:55:52 +0000 (09:55 -0400)]
g-testrun-clusterfinder: drop periodic timing messages

this part is nearly instant anyway

2 years agog-testrun-clusterfinder: admit defeat against sqlite foreign keys
Frank Ch. Eigler [Tue, 19 Jul 2022 13:47:52 +0000 (09:47 -0400)]
g-testrun-clusterfinder: admit defeat against sqlite foreign keys

The testrun_cluster rows form a doubly linked list via the next/prev columns.
During a mass delete, this means O(N^2) or worse processing time.  Drop the
foreign key designations and do a more blunt mass delete at the beginning of
the --redo/--update operation.  Preexisting bunsen databases should drop
the testrun_cluster table (one time) to migrate.

2 years agor-httpd-browse: autoconf detail browser: switch to loglink on left as dejagnu
Frank Ch. Eigler [Sat, 16 Jul 2022 00:43:33 +0000 (20:43 -0400)]
r-httpd-browse: autoconf detail browser: switch to loglink on left as dejagnu

2 years agor-httpd-browse: dejagnu details view: flip log/sum columns to left
Frank Ch. Eigler [Fri, 15 Jul 2022 22:58:45 +0000 (18:58 -0400)]
r-httpd-browse: dejagnu details view: flip log/sum columns to left

2 years agor-httpd-browse: spell out that diffs only account for dejagnu diffs right now
Frank Ch. Eigler [Fri, 15 Jul 2022 22:13:33 +0000 (18:13 -0400)]
r-httpd-browse: spell out that diffs only account for dejagnu diffs right now

2 years agor-httpd-browse: ditto for dgsummary view
Frank Ch. Eigler [Fri, 15 Jul 2022 20:37:07 +0000 (16:37 -0400)]
r-httpd-browse: ditto for dgsummary view

2 years agor-httpd-browse: for testrun dgexpfile focus, abbreviate log/sum anchor names
Frank Ch. Eigler [Fri, 15 Jul 2022 20:32:27 +0000 (16:32 -0400)]
r-httpd-browse: for testrun dgexpfile focus, abbreviate log/sum anchor names

2 years agor-show-testrun: more verbosity, tweak autoconflog query
Frank Ch. Eigler [Fri, 15 Jul 2022 16:05:56 +0000 (12:05 -0400)]
r-show-testrun: more verbosity, tweak autoconflog query

more inter-query logging.debug() allows identification of unusually slow queries

2 years agoi-autoconflog-parser: add an index
Frank Ch. Eigler [Fri, 15 Jul 2022 16:04:28 +0000 (12:04 -0400)]
i-autoconflog-parser: add an index

r-show-testrun was hobbled by the lack of an index on one popular
column in our tables; turns 4s queries into 0.2s ones

This page took 0.063182 seconds and 5 git commands to generate.