Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion concore_cli/cli.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import click
from rich.console import Console
import os
import sys

from .commands.init import init_project
Expand All @@ -10,6 +11,7 @@
from .commands.inspect import inspect_workflow

console = Console()
DEFAULT_EXEC_TYPE = 'windows' if os.name == 'nt' else 'posix'

@click.group()
@click.version_option(version='1.0.0', prog_name='concore')
Expand All @@ -31,7 +33,7 @@ def init(name, template):
@click.argument('workflow_file', type=click.Path(exists=True))
@click.option('--source', '-s', default='src', help='Source directory')
@click.option('--output', '-o', default='out', help='Output directory')
@click.option('--type', '-t', default='windows', type=click.Choice(['windows', 'posix', 'docker']), help='Execution type')
@click.option('--type', '-t', default=DEFAULT_EXEC_TYPE, type=click.Choice(['windows', 'posix', 'docker']), help='Execution type')
@click.option('--auto-build', is_flag=True, help='Automatically run build after generation')
def run(workflow_file, source, output, type, auto_build):
"""Run a concore workflow"""
Expand Down
18 changes: 18 additions & 0 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import unittest
import tempfile
import shutil
import os
from pathlib import Path
from click.testing import CliRunner
from concore_cli.cli import cli
Expand Down Expand Up @@ -83,6 +84,23 @@ def test_run_command_from_project_dir(self):
self.assertEqual(result.exit_code, 0)
self.assertTrue(Path('out/src/concore.py').exists())

def test_run_command_default_type(self):
with self.runner.isolated_filesystem(temp_dir=self.temp_dir):
result = self.runner.invoke(cli, ['init', 'test-project'])
self.assertEqual(result.exit_code, 0)

result = self.runner.invoke(cli, [
'run',
'test-project/workflow.graphml',
'--source', 'test-project/src',
'--output', 'out'
])
self.assertEqual(result.exit_code, 0)
if os.name == 'nt':
self.assertTrue(Path('out/build.bat').exists())
else:
self.assertTrue(Path('out/build').exists())

def test_run_command_existing_output(self):
with self.runner.isolated_filesystem(temp_dir=self.temp_dir):
result = self.runner.invoke(cli, ['init', 'test-project'])
Expand Down