Browse Source

Add flag for verbose output

tags/v1.2.0
dump_stack() 4 months ago
parent
commit
9c70af4f6f
Signed by: Mikhail Klementev <blame@dumpstack.io> GPG Key ID: BE44DA8C062D87DC
4 changed files with 29 additions and 7 deletions
  1. 5
    0
      CHANGELOG.md
  2. 5
    1
      main.go
  3. 2
    1
      pack.go
  4. 17
    5
      pew.go

+ 5
- 0
CHANGELOG.md View File

@@ -6,6 +6,11 @@

## [Unreleased]

### Added

- Flag for Verbose output. Right now only qemu status messages is
implemented.

### Fixed

- Kpti settings was not affected for regular runs.

+ 5
- 1
main.go View File

@@ -155,6 +155,9 @@ func main() {
pewTagFlag := pewCommand.Flag("tag", "Log tagging")
pewTag := pewTagFlag.String()

pewVerboseFlag := pewCommand.Flag("verbose", "Show more information")
pewVerbose := pewVerboseFlag.Bool()

kernelCommand := app.Command("kernel", "Manipulate kernels")
kernelNoDownload := kernelCommand.Flag("no-download",
"Do not download qemu image while kernel generation").Bool()
@@ -303,7 +306,8 @@ func main() {
case pewCommand.FullCommand():
err = pewHandler(kcfg, *path, *pewKernel, *pewBinary,
*pewTest, *pewGuess, stop, *qemuTimeout, *dockerTimeout,
*pewMax, *pewRuns, *pewDist, *pewTag, *pewThreads, db)
*pewMax, *pewRuns, *pewDist, *pewTag, *pewThreads,
db, *pewVerbose)
case kernelListCommand.FullCommand():
err = kernelListHandler(kcfg)
case kernelAutogenCommand.FullCommand():

+ 2
- 1
pack.go View File

@@ -51,7 +51,8 @@ func packHandler(db *sql.DB, path, registry string, stop time.Time,

pewHandler(kcfg, workPath, "", "", "", false,
stop, dockerTimeout, qemuTimeout,
kernelRuns, exploitRuns, pathDevNull, tag, threads, db)
kernelRuns, exploitRuns, pathDevNull,
tag, threads, db, false)
}

return

+ 17
- 5
pew.go View File

@@ -303,7 +303,7 @@ func copyTest(q *qemu.System, testPath string, ka config.Artifact) (
func whatever(swg *sizedwaitgroup.SizedWaitGroup, ka config.Artifact,
ki config.KernelInfo, binaryPath, testPath string,
qemuTimeout, dockerTimeout time.Duration, dist, tag string,
db *sql.DB) {
db *sql.DB, verbose bool) {

defer swg.Done()

@@ -337,6 +337,18 @@ func whatever(swg *sizedwaitgroup.SizedWaitGroup, ka config.Artifact,
}
defer q.Stop()

if verbose {
go func() {
for !q.Died {
time.Sleep(time.Minute)
log.Println(ka.Name, ki.DistroType,
ki.DistroRelease, ki.KernelRelease,
"still alive")

}
}()
}

usr, err := user.Current()
if err != nil {
return
@@ -395,7 +407,7 @@ func performCI(ka config.Artifact, kcfg config.KernelConfig, binaryPath,
testPath string, stop time.Time,
qemuTimeout, dockerTimeout time.Duration,
max, runs int64, dist, tag string, threads int,
db *sql.DB) (err error) {
db *sql.DB, verbose bool) (err error) {

found := false

@@ -421,7 +433,7 @@ func performCI(ka config.Artifact, kcfg config.KernelConfig, binaryPath,
swg.Add()
go whatever(&swg, ka, kernel, binaryPath,
testPath, qemuTimeout, dockerTimeout,
dist, tag, db)
dist, tag, db, verbose)
}
}
}
@@ -478,7 +490,7 @@ func pewHandler(kcfg config.KernelConfig,
workPath, ovrrdKrnl, binary, test string, guess bool,
stop time.Time, qemuTimeout, dockerTimeout time.Duration,
max, runs int64, dist, tag string, threads int,
db *sql.DB) (err error) {
db *sql.DB, verbose bool) (err error) {

ka, err := config.ReadArtifactConfig(workPath + "/.out-of-tree.toml")
if err != nil {
@@ -508,7 +520,7 @@ func pewHandler(kcfg config.KernelConfig,

err = performCI(ka, kcfg, binary, test,
stop, qemuTimeout, dockerTimeout,
max, runs, dist, tag, threads, db)
max, runs, dist, tag, threads, db, verbose)
if err != nil {
return
}

Loading…
Cancel
Save