itest: start a scaffolding testing framework (itests)

https://github.com/lightningnetwork/lnd/pull/6759

Host: yyforyongyu  -  PR author: yyforyongyu

Notes

  • Understand the setup for itest, including the miner, the chain backend, and the lnd nodes.

Questions

  • A broad and open question, why do you think our itest builds are failing?
  • How many chain backends, db backends, OS, and miner backends are we testing?
  • What challenges were you faced writing itest?
  • What are the issues of our current itest regarding its maintainability and code health?
  • What’s your suggestion about creating PRs when bringing an inherently large change?
  • What are the pros and cons of creating the temporary package lntemp?
  • What’s the most time-consuming step when running the test cases?
  • How to make our itest run faster?