# tools/dummy_script/dummy.py import time import sys import argparse print("Dummy script started!") sys.stdout.flush() # Assicura che l'output sia visibile subito parser = argparse.ArgumentParser() parser.add_argument("--verbose", action="store_true", help="Enable verbose output") parser.add_argument("--user-text", type=str, default="Default text", help="User provided text") parser.add_argument("--iterations", type=int, default=1, help="Number of iterations") parser.add_argument("--enable-feature", action="store_true", help="Boolean flag") parser.add_argument("--output-dir", type=str, help="Output directory path") try: # Parse only known args defined above # This prevents errors if ProjectUtility sends extra args not defined here yet args, unknown = parser.parse_known_args() if args.verbose: print("Verbose mode enabled.") print(f"Received unknown arguments: {unknown}") # Show args not defined in dummy.py print(f"User text: {args.user_text}") print(f"Iterations: {args.iterations}") print(f"Feature enabled: {args.enable_feature}") if args.output_dir: print(f"Output directory: {args.output_dir}") for i in range(args.iterations): print(f"Processing iteration {i+1}...") time.sleep(0.5) # Simulate work if i % 2 == 0: print(f"Standard output line {i+1}", file=sys.stdout) else: print(f"Error output line {i+1}", file=sys.stderr) # Print some errors too sys.stdout.flush() sys.stderr.flush() print("Dummy script finished successfully.") sys.exit(0) # Explicit success exit code except Exception as e: print(f"ERROR in dummy script: {e}", file=sys.stderr) sys.stderr.flush() sys.exit(1) # Explicit failure exit code