Merge branch 'bugfix/idfpy_verbose_flag' into 'master'
idf.py: Fix --verbose flag See merge request espressif/esp-idf!6812
This commit is contained in:
commit
8eef8654a6
3 changed files with 45 additions and 8 deletions
|
@ -53,6 +53,8 @@ def action_extensions(base_actions, project_path):
|
||||||
for line in ctx.command.verbose_output:
|
for line in ctx.command.verbose_output:
|
||||||
print(line)
|
print(line)
|
||||||
|
|
||||||
|
return value
|
||||||
|
|
||||||
def clean(action, ctx, args):
|
def clean(action, ctx, args):
|
||||||
if not os.path.isdir(args.build_dir):
|
if not os.path.isdir(args.build_dir):
|
||||||
print("Build directory '%s' not found. Nothing to clean." % args.build_dir)
|
print("Build directory '%s' not found. Nothing to clean." % args.build_dir)
|
||||||
|
@ -157,6 +159,7 @@ def action_extensions(base_actions, project_path):
|
||||||
"names": ["--version"],
|
"names": ["--version"],
|
||||||
"help": "Show IDF version and exit.",
|
"help": "Show IDF version and exit.",
|
||||||
"is_flag": True,
|
"is_flag": True,
|
||||||
|
"expose_value": False,
|
||||||
"callback": idf_version_callback
|
"callback": idf_version_callback
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,11 @@ def action_extensions(base_actions, project_path=None):
|
||||||
def echo(name, *args, **kwargs):
|
def echo(name, *args, **kwargs):
|
||||||
print(name, args, kwargs)
|
print(name, args, kwargs)
|
||||||
|
|
||||||
|
def verbose(name, ctx, args):
|
||||||
|
print("Output from test-verbose")
|
||||||
|
if args.verbose:
|
||||||
|
print("Verbose mode on")
|
||||||
|
|
||||||
# Add global options
|
# Add global options
|
||||||
extensions = {
|
extensions = {
|
||||||
"global_options": [
|
"global_options": [
|
||||||
|
@ -37,11 +42,13 @@ def action_extensions(base_actions, project_path=None):
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"actions": {
|
"actions": {
|
||||||
|
"test-verbose": {
|
||||||
|
"callback": verbose,
|
||||||
|
"help": "Command that have some verbosity",
|
||||||
|
},
|
||||||
"test-0": {
|
"test-0": {
|
||||||
"callback":
|
"callback": echo,
|
||||||
echo,
|
"help": "Non-deprecated command 0",
|
||||||
"help":
|
|
||||||
"Non-deprecated command 0",
|
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"names": ["--test-sub-0"],
|
"names": ["--test-sub-0"],
|
||||||
|
|
|
@ -115,8 +115,9 @@ class TestDependencyManagement(unittest.TestCase):
|
||||||
standalone_mode=False,
|
standalone_mode=False,
|
||||||
)
|
)
|
||||||
sys.stdout = sys.__stdout__
|
sys.stdout = sys.__stdout__
|
||||||
self.assertIn('WARNING: Commands "all", "clean" are found in the list of commands more than once.',
|
self.assertIn(
|
||||||
capturedOutput.getvalue())
|
'WARNING: Commands "all", "clean" are found in the list of commands more than once.',
|
||||||
|
capturedOutput.getvalue())
|
||||||
|
|
||||||
sys.stdout = capturedOutput
|
sys.stdout = capturedOutput
|
||||||
idf.init_cli()(
|
idf.init_cli()(
|
||||||
|
@ -124,8 +125,34 @@ class TestDependencyManagement(unittest.TestCase):
|
||||||
standalone_mode=False,
|
standalone_mode=False,
|
||||||
)
|
)
|
||||||
sys.stdout = sys.__stdout__
|
sys.stdout = sys.__stdout__
|
||||||
self.assertIn('WARNING: Command "clean" is found in the list of commands more than once.',
|
self.assertIn(
|
||||||
capturedOutput.getvalue())
|
'WARNING: Command "clean" is found in the list of commands more than once.', capturedOutput.getvalue())
|
||||||
|
|
||||||
|
|
||||||
|
class TestVerboseFlag(unittest.TestCase):
|
||||||
|
def test_verbose_messages(self):
|
||||||
|
output = subprocess.check_output(
|
||||||
|
[
|
||||||
|
sys.executable,
|
||||||
|
idf_py_path,
|
||||||
|
"-C%s" % current_dir,
|
||||||
|
"-v",
|
||||||
|
"test-verbose",
|
||||||
|
], env=os.environ).decode('utf-8', 'ignore')
|
||||||
|
|
||||||
|
self.assertIn('Verbose mode on', output)
|
||||||
|
|
||||||
|
def test_verbose_messages_not_shown_by_default(self):
|
||||||
|
output = subprocess.check_output(
|
||||||
|
[
|
||||||
|
sys.executable,
|
||||||
|
idf_py_path,
|
||||||
|
"-C%s" % current_dir,
|
||||||
|
"test-verbose",
|
||||||
|
], env=os.environ).decode('utf-8', 'ignore')
|
||||||
|
|
||||||
|
self.assertIn('Output from test-verbose', output)
|
||||||
|
self.assertNotIn('Verbose mode on', output)
|
||||||
|
|
||||||
|
|
||||||
class TestGlobalAndSubcommandParameters(unittest.TestCase):
|
class TestGlobalAndSubcommandParameters(unittest.TestCase):
|
||||||
|
|
Loading…
Reference in a new issue