Skip to content

[FEATURE]: buildtest report --detailed #1456

@shahzebsiddiqui

Description

@shahzebsiddiqui

Please describe your feature

The --format has many fields according that can be retrieved via

(buildtest)  ~/Documents/github/buildtest/docs/ [buildspecs_in_configuration_file] buildtest rt --helpformat                                                                      
                                  Format Fields                                  
┏━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Field      ┃ Description                                                      ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ buildspec  │ Buildspec File                                                   │
│ buildenv   │ Show build environment file for test                             │
│ command    │ Command executed                                                 │
│ compiler   │ Retrieve compiler used for test (applicable for compiler schema) │
│ endtime    │ End Time for test                                                │
│ errfile    │ Error File                                                       │
│ executor   │ Name of executor used for running test                           │
│ hostname   │ Hostname of machine where job was submitted from                 │
│ full_id    │ Fully qualified build identifier                                 │
│ id         │ Unique build identifier                                          │
│ metrics    │ List all metrics for test                                        │
│ name       │ Name of test                                                     │
│ outfile    │ Output file                                                      │
│ returncode │ Return Code                                                      │
│ runtime    │ Total runtime in seconds                                         │
│ schemafile │ Schema file used for validating test                             │
│ starttime  │ Start time of test                                               │
│ state      │ State of test (PASS/FAIL)                                        │
│ tags       │ Tag name                                                         │
│ testroot   │ Root of test directory                                           │
│ testpath   │ Path to test                                                     │
│ user       │ User who ran the test                                            │
└────────────┴──────────────────────────────────────────────────────────────────┘

So i would like to propose we have something like a buildtest rt --detailed with a short option perhaps -d which is synonymous to --format name,id,user,state,returncode,runtime,outfile,errfile,buildspec so one doesn't have to type everything. This refers to format fields that are NOT DEFAULT when running buildtest report.

(buildtest)  ~/Documents/github/buildtest/docs/ [buildspecs_in_configuration_file] buildtest rt --format name,id,user,state,returncode,runtime,outfile,errfile,buildspec --count=1
                                                                                Report File: /Users/siddiq90/Documents/github/buildtest/var/report.json                                                                                 
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ name           ┃ id       ┃ user     ┃ state ┃ returncode ┃ runtime  ┃ outfile                                            ┃ errfile                                             ┃ buildspec                                          ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ variables_bash │ c53090f2 │ siddiq90 │ PASS  │ 0          │ 0.620401 │ /Users/siddiq90/Documents/github/buildtest/var/tes │ /Users/siddiq90/Documents/github/buildtest/var/test │ /Users/siddiq90/Documents/github/buildtest/tutoria │
│                │          │          │       │            │          │ ts/generic.local.bash/vars/variables_bash/c53090f2 │ s/generic.local.bash/vars/variables_bash/c53090f2/v │ ls/vars.yml                                        │
│                │          │          │       │            │          │ /variables_bash.out                                │ ariables_bash.err                                   │                                                    │
└────────────────┴──────────┴──────────┴───────┴────────────┴──────────┴────────────────────────────────────────────────────┴─────────────────────────────────────────────────────┴────────────────────────────────────────────────────┘

There are some other interesting fields but we should come to agreement on what fields to expose. This could be a nice feature to have when seeing all the fields.

If we do all the fields that are available the output can be very long and some of fields are practically not useful. Shown below are all the format fields

(buildtest)  ~/Documents/github/buildtest/docs/ [buildspecs_in_configuration_file] buildtest rt --format buildspec,buildenv,command,compiler,endtime,errfile,executor,hostname,full_id,id,metrics,name,outfile,returncode,runtime,schem
afile,starttime,state,tags,testroot,testpath,user --count=1                                                               
                                                                                Report File: /Users/siddiq90/Documents/github/buildtest/var/report.json                                                                                 
┏━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ buildspe ┃          ┃          ┃          ┃          ┃          ┃          ┃ hostnam ┃          ┃         ┃         ┃          ┃         ┃ returnco ┃         ┃ schemafi ┃ startti ┃       ┃          ┃ testroo ┃          ┃         ┃
┃ c        ┃ buildenv ┃ command  ┃ compiler ┃ endtime  ┃ errfile  ┃ executor ┃ e       ┃ full_id  ┃ id      ┃ metrics ┃ name     ┃ outfile ┃ de       ┃ runtime ┃ le       ┃ me      ┃ state ┃ tags     ┃ t       ┃ testpath ┃ user    ┃
┡━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ /Users/s │ /Users/s │ bash     │          │ 2023/04/ │ /Users/s │ generic. │ DOE-708 │ c53090f2 │ c53090f │         │ variable │ /Users/ │ 0        │ 0.62040 │ script.s │ 2023/04 │ PASS  │ tutorial │ /Users/ │ /Users/s │ siddiq9 │
│ iddiq90/ │ iddiq90/ │ --norc   │          │ 27       │ iddiq90/ │ local.ba │ 6392.vp │ -57ed-46 │ 2       │         │ s_bash   │ siddiq9 │          │ 1       │ chema.js │ /27     │       │ s        │ siddiq9 │ iddiq90/ │ 0       │
│ Document │ Document │ --noprof │          │ 16:14:14 │ Document │ sh       │ n-dhcp. │ fe-b811- │         │         │          │ 0/Docum │          │         │ on       │ 16:14:1 │       │          │ 0/Docum │ Document │         │
│ s/github │ s/github │ ile -eo  │          │          │ s/github │          │ lbl.gov │ 5ce48307 │         │         │          │ ents/gi │          │         │          │ 3       │       │          │ ents/gi │ s/github │         │
│ /buildte │ /buildte │ pipefail │          │          │ /buildte │          │         │ c214     │         │         │          │ thub/bu │          │         │          │         │       │          │ thub/bu │ /buildte │         │
│ st/tutor │ st/var/t │ variable │          │          │ st/var/t │          │         │          │         │         │          │ ildtest │          │         │          │         │       │          │ ildtest │ st/var/t │         │
│ ials/var │ ests/gen │ s_bash_b │          │          │ ests/gen │          │         │          │         │         │          │ /var/te │          │         │          │         │       │          │ /var/te │ ests/gen │         │
│ s.yml    │ eric.loc │ uild.sh  │          │          │ eric.loc │          │         │          │         │         │          │ sts/gen │          │         │          │         │       │          │ sts/gen │ eric.loc │         │
│          │ al.bash/ │          │          │          │ al.bash/ │          │         │          │         │         │          │ eric.lo │          │         │          │         │       │          │ eric.lo │ al.bash/ │         │
│          │ vars/var │          │          │          │ vars/var │          │         │          │         │         │          │ cal.bas │          │         │          │         │       │          │ cal.bas │ vars/var │         │
│          │ iables_b │          │          │          │ iables_b │          │         │          │         │         │          │ h/vars/ │          │         │          │         │       │          │ h/vars/ │ iables_b │         │
│          │ ash/c530 │          │          │          │ ash/c530 │          │         │          │         │         │          │ variabl │          │         │          │         │       │          │ variabl │ ash/c530 │         │
│          │ 90f2/bui │          │          │          │ 90f2/var │          │         │          │         │         │          │ es_bash │          │         │          │         │       │          │ es_bash │ 90f2/var │         │
│          │ ld-env.t │          │          │          │ iables_b │          │         │          │         │         │          │ /c53090 │          │         │          │         │       │          │ /c53090 │ iables_b │         │
│          │ xt       │          │          │          │ ash.err  │          │         │          │         │         │          │ f2/vari │          │         │          │         │       │          │ f2      │ ash.sh   │         │
│          │          │          │          │          │          │          │         │          │         │         │          │ ables_b │          │         │          │         │       │          │         │          │         │
│          │          │          │          │          │          │          │         │          │         │         │          │ ash.out │          │         │          │         │       │          │         │          │         │
└──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴─────────┴──────────┴─────────┴─────────┴──────────┴─────────┴──────────┴─────────┴──────────┴─────────┴───────┴──────────┴─────────┴──────────┴─────────┘

TODO

Suggest potential solution

No response

Additional Information

No response

Post question in Slack

  • I agree that I posted my question in slack before creating this issue

Is there an existing issue

  • I confirm there is no existing issue for this issue

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions