tree 1dda1b06e9fd74ab86039ddf9931d2e103209afc
parent d397a82b7ccaa4c4fe3e149ecb763dd6214abc93
parent 1091c8fce8aa9c5abe1a73acab4bcaf58a729005
author Linus Torvalds <torvalds@linux-foundation.org> 1583795802 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1583795802 -0700
mergetag object 1091c8fce8aa9c5abe1a73acab4bcaf58a729005
 type commit
 tag ktest-v5.6
 tagger Steven Rostedt <rostedt@goodmis.org> 1583784957 -0400
 
 Ktest fixes and clean ups
 
 - Make the default option oldconfig instead of randconfig
   (one too many times I lost my config because I left the build type out)
 
 - Add timeout to ssh sync to sync before reboot (prevents test hangs)
 
 - A couple of spelling fix patches
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCXmakcxQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qhLKAP9eEZxg0HzIXo3mn9ECcpLaJIKgXGCY
 Q55z1dN56qliZQD+KcRAB0kA2oxP0tBsJyTrizpJnkldkNrbRd4uJZo/4gA=
 =sn+K
 -----END PGP SIGNATURE-----

Merge tag 'ktest-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest

Pull Ktest fixes and clean ups from Steven Rostedt:

 - Make the default option oldconfig instead of randconfig (one too many
   times I lost my config because I left the build type out)

 - Add timeout to ssh sync to sync before reboot (prevents test hangs)

 - A couple of spelling fix patches

* tag 'ktest-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
  ktest: Fix typos in ktest.pl
  ktest: Add timeout for ssh sync testing
  ktest: Make default build option oldconfig not randconfig
  ktest: Fix some typos in sample.conf
