def test_make_command_exe(free, std, ftype, expected_opts):
    compiler = GnuCobolCompiler()
    settings = Settings()
    settings.free_format = free
    settings.cobol_standard = std
    pgm, options = compiler.make_command(['HelloWorld.cbl'], ftype, 'bin')
    assert pgm == Settings().compiler_path
    for o, eo in zip(options, expected_opts):
        assert o == eo
    settings.free_format = free
    settings.cobol_standard = GnuCobolStandard.default
    settings.free_format = False
Example #2
0
def test_make_command_exe(free, std, ftype, expected_opts):
    compiler = GnuCobolCompiler()
    settings = Settings()
    settings.free_format = free
    settings.cobol_standard = std
    pgm, options = compiler.make_command('HelloWorld.cbl', ftype)
    assert pgm == 'cobc'
    for o, eo in zip(options, expected_opts):
        assert o == eo
    settings.free_format = free
    settings.cobol_standard = GnuCobolStandard.default
    settings.free_format = False
Example #3
0
    def apply(self):
        # force next check (otherwise the cached result will be used)
        compilers.GnuCobolCompiler.check_compiler.reset()
        settings = Settings()
        settings.show_cursor_pos_in_bytes = \
            self.cb_cursor_pos_in_bytes.isChecked()
        settings.display_lines = self.checkBoxViewLineNumber.isChecked()
        settings.highlight_caret = self.checkBoxHighlightCurrentLine.isChecked(
        )
        settings.show_whitespaces = \
            self.checkBoxHighlightWhitespaces.isChecked()
        settings.tab_len = self.spinBoxEditorTabLen.value()
        settings.enable_autoindent = self.checkBoxEditorAutoIndent.isChecked()
        settings.code_completion_trigger_len = \
            self.spinBoxEditorCCTriggerLen.value()
        settings.preferred_eol = self.comboBoxPreferredEOL.currentIndex()
        settings.autodetect_eol = self.checkBoxAutodetectEOL.isChecked()
        settings.dark_style = self.radioButtonColorDark.isChecked()
        settings.font = self.fontComboBox.currentFont().family()
        settings.font_size = self.spinBoxFontSize.value()
        settings.color_scheme = self.listWidgetColorSchemes.currentItem().text(
        )
        settings.external_terminal = self.checkBoxRunExtTerm.isChecked()
        settings.external_terminal_command = self.lineEditRunTerm.text()
        settings.lower_case_keywords = self.rbLowerCaseKwds.isChecked()
        settings.compiler_path = self.lineEditCompilerPath.text()
        settings.vcvarsall = self.lineEditVCVARS.text()
        settings.vcvarsall_arch = self.combo_arch.currentText()
        settings.path = self.PATH.text()
        settings.path_enabled = self.cbPATH.isChecked()
        settings.cob_config_dir = self.COB_CONFIG_DIR.text()
        settings.cob_config_dir_enabled = self.cbCOB_CONFIG_DIR.isChecked()
        settings.cob_copy_dir = self.COB_COPY_DIR.text()
        settings.cob_copy_dir_enabled = self.cbCOB_COPY_DIR.isChecked()
        settings.cob_include_path = self.COB_INCLUDE_PATH.text()
        settings.cob_include_path_enabled = self.cbCOB_INCLUDE_PATH.isChecked()
        settings.cob_lib_path = self.COB_LIB_PATH.text()
        settings.cob_lib_path_enabled = self.cbCOB_LIB_PATH.isChecked()
        settings.free_format = self.checkBoxFreeFormat.isChecked()
        settings.comment_indicator = self.lineEditCommentIndicator.text()
        settings.autodetect_submodules = \
            self.cbAutoDetectSublmodules.isChecked()
        settings.cobol_standard = GnuCobolStandard(
            self.comboBoxStandard.currentIndex())
        settings.icon_theme = self.comboBoxIconTheme.currentText()
        settings.show_errors = self.checkBoxShowErrors.isChecked()
        settings.enable_smart_backspace = \
            self.checkBoxSmartBackspace.isChecked()
        paths = []
        for i in range(self.listWidgetLibPaths.count()):
            paths.append(self.listWidgetLibPaths.item(i).text())
        settings.library_search_path = ';'.join(paths)
        paths = []
        for i in range(self.listWidgetCopyPaths.count()):
            paths.append(self.listWidgetCopyPaths.item(i).text())
        settings.copybook_paths = ';'.join(paths)
        settings.libraries = self.lineEditLibs.text()
        settings.output_directory = self.lineEditOutputDirectory.text()
        settings.copy_runtime_dlls = self.cb_copy_runtime_dlls.isChecked()
        cb_flags = [
            self.cb_g, self.cb_ftrace, self.cb_ftraceall,
            self.cb_debugging_line, self.cb_static, self.cb_debug, self.cb_w,
            self.cb_wall
        ]
        flags = [cb.text() for cb in cb_flags if cb.isChecked()]
        flags += system.shell_split(self.le_compiler_flags.text())
        settings.compiler_flags = flags
        # sql
        settings.dbpre = self.lineEditDbpre.text()
        settings.dbpre_framework = self.lineEditDbpreFramework.text()
        settings.cobmysqlapi = self.lineEditCobmysqlapi.text()
        settings.dbhost = self.lineEditDBHOST.text()
        settings.dbuser = self.lineEditDBUSER.text()
        settings.dbpasswd = self.lineEditDBPASSWD.text()
        settings.dbname = self.lineEditDBNAME.text()
        settings.dbport = self.lineEditDBPORT.text()
        settings.dbsocket = self.lineEditDBSOCKET.text()
        settings.esqloc = self.lineEditESQLOC.text()
        settings.completion_filter_mode = \
            self.comboCcFilterMode.currentIndex()
        settings.cobc_extensions = [
            ext.lower() for ext in self.lineEditCobcExts.text().split(';')
            if ext
        ]
        settings.dbpre_extensions = [
            ext.lower() for ext in self.lineEditDbpreExts.text().split(';')
            if ext
        ]
        settings.esqloc_extensions = [
            ext for ext in self.lineEditesqlOcExts.text().split(';') if ext
        ]

        colors = []
        positions = []
        for spin_box, picker in zip(self._margin_spin_boxes,
                                    self._margin_color_pickers):
            positions.append(spin_box.value() - 1)
            colors.append(picker.color.name())
        settings.margin_positions = positions
        settings.margin_colors = colors

        env = {}
        for i in range(self.tw_run_env.rowCount()):
            env[self.tw_run_env.item(i, 0).text()] = self.tw_run_env.item(
                i, 1).text()
        settings.run_environemnt = env
        settings.working_dir = self.edit_working_dir.text()
Example #4
0
 def restore_defaults(self):
     settings = Settings()
     index = self.tabWidget.currentIndex()
     # Editor
     if index == 0:
         settings.show_cursor_pos_in_bytes = False
         settings.show_error = True
         settings.display_lines = True
         settings.highlight_caret = True
         settings.show_whitespaces = False
         settings.tab_len = 4
         settings.enable_autoindent = True
         settings.code_completion_trigger_len = 1
         settings.comment_indicator = '*> '
         settings.enable_smart_backspace = False
         settings.lower_case_keywords = False
         settings.autodetect_eol = True
         settings.preferred_eol = 0
         settings.code_completion_trigger_len = 1
         settings.margin_positions = [7, 11, 72, 79]
         settings.margin_colors = ['red'] * 4
     # Style
     elif index == 1:
         settings.dark_style = False
         settings.icon_theme = ''
         settings.font = 'Source Code Pro'
         settings.font_size = 11
         settings.colorScheme = 'qt'
     # run
     elif index == 3:
         settings.external_terminal = False
         settings.external_terminal_command = None
         settings.run_environemnt = {}
         settings.working_dir = ''
     # compiler
     elif index == 2:
         settings.autodetect_submodules = True
         settings.output_directory = 'bin'
         settings.copy_runtime_dlls = False
         settings.free_format = False
         settings.cobol_standard = GnuCobolStandard.default
         settings.compiler_path = 'cobc.exe' if system.windows else 'cobc'
         settings.compiler_flags = ['-debug', '-Wall']
         settings.copybook_paths = ''
         settings.library_search_path = ''
         settings.libraries = ''
         settings.cobc_extensions = ['.cob', '.cbl', '.pco', '.lst']
         if system.windows:
             settings.vcvarsall = ''
             settings.vcvarsall_arch = 'x86'
         settings.path = settings.default_path()
         settings.path_enabled = True
         settings.cob_config_dir = settings.default_config_dir()
         settings.cob_config_dir_enabled = system.windows
         settings.cob_copy_dir = settings.default_copy_dir()
         settings.cob_copy_dir_enabled = system.windows
         settings.cob_include_path = settings.default_include_dir()
         settings.cob_include_path_enabled = system.windows
         settings.cob_lib_path = settings.default_lib_path()
         settings.cob_lib_path_enabled = system.windows
     elif index == 4:
         settings.dbpre = ''
         settings.dbpre_extensions = ['.scb']
         settings.dbpre_framework = ''
         settings.cobmysqlapi = ''
         settings.dbhost = 'localhost'
         settings.dbuser = ''
         settings.dbpasswd = ''
         settings.dbname = ''
         settings.dbport = '03306'
         settings.dbsocket = 'null'
         settings.esqloc = ''
         settings.esqloc_extensions = ['.sqb']
     self.reset()
Example #5
0
 def apply(self):
     # force next check (otherwise the cached result will be used)
     compilers.GnuCobolCompiler.check_compiler.reset()
     settings = Settings()
     settings.display_lines = self.checkBoxViewLineNumber.isChecked()
     settings.highlight_caret = self.checkBoxHighlightCurrentLine.isChecked()
     settings.show_whitespaces = self.checkBoxHighlightWhitespaces.isChecked()
     settings.tab_len = self.spinBoxEditorTabLen.value()
     settings.enable_autoindent = self.checkBoxEditorAutoIndent.isChecked()
     settings.code_completion_trigger_len = self.spinBoxEditorCCTriggerLen.value()
     settings.preferred_eol = self.comboBoxPreferredEOL.currentIndex()
     settings.autodetect_eol = self.checkBoxAutodetectEOL.isChecked()
     settings.dark_style = self.radioButtonColorDark.isChecked()
     settings.font = self.fontComboBox.currentFont().family()
     settings.font_size = self.spinBoxFontSize.value()
     settings.color_scheme = self.listWidgetColorSchemes.currentItem().text()
     settings.external_terminal = self.checkBoxRunExtTerm.isChecked()
     settings.external_terminal_command = self.lineEditRunTerm.text()
     settings.lower_case_keywords = self.rbLowerCaseKwds.isChecked()
     settings.compiler_path = self.lineEditCompilerPath.text()
     settings.vcvars32 = self.lineEditVCVARS.text()
     settings.path = self.PATH.text()
     settings.path_enabled = self.cbPATH.isChecked()
     settings.cob_config_dir = self.COB_CONFIG_DIR.text()
     settings.cob_config_dir_enabled = self.cbCOB_CONFIG_DIR.isChecked()
     settings.cob_copy_dir = self.COB_COPY_DIR.text()
     settings.cob_copy_dir_enabled = self.cbCOB_COPY_DIR.isChecked()
     settings.cob_include_path = self.COB_INCLUDE_PATH.text()
     settings.cob_include_path_enabled = self.cbCOB_INCLUDE_PATH.isChecked()
     settings.cob_lib_path = self.COB_LIB_PATH.text()
     settings.cob_lib_path_enabled = self.cbCOB_LIB_PATH.isChecked()
     settings.free_format = self.checkBoxFreeFormat.isChecked()
     settings.comment_indicator = self.lineEditCommentIndicator.text()
     settings.autodetect_submodules = self.cbAutoDetectSublmodules.isChecked()
     settings.cobol_standard = GnuCobolStandard(self.comboBoxStandard.currentIndex())
     settings.icon_theme = self.comboBoxIconTheme.currentText()
     settings.show_errors = self.checkBoxShowErrors.isChecked()
     settings.enable_smart_backspace = self.checkBoxSmartBackspace.isChecked()
     paths = []
     for i in range(self.listWidgetLibPaths.count()):
         paths.append(self.listWidgetLibPaths.item(i).text())
     settings.library_search_path = ";".join(paths)
     paths = []
     for i in range(self.listWidgetCopyPaths.count()):
         paths.append(self.listWidgetCopyPaths.item(i).text())
     settings.copybook_paths = ";".join(paths)
     settings.libraries = self.lineEditLibs.text()
     settings.output_directory = self.lineEditOutputDirectory.text()
     cb_flags = [self.cb_g, self.cb_ftrace, self.cb_ftraceall, self.cb_debugging_line, self.cb_static, self.cb_debug]
     flags = [cb.text() for cb in cb_flags if cb.isChecked()]
     flags += self.le_compiler_flags.text().split(" ")
     settings.compiler_flags = flags
     # sql
     settings.dbpre = self.lineEditDbpre.text()
     settings.dbpre_framework = self.lineEditDbpreFramework.text()
     settings.cobmysqlapi = self.lineEditCobmysqlapi.text()
     settings.dbhost = self.lineEditDBHOST.text()
     settings.dbuser = self.lineEditDBUSER.text()
     settings.dbpasswd = self.lineEditDBPASSWD.text()
     settings.dbname = self.lineEditDBNAME.text()
     settings.dbport = self.lineEditDBPORT.text()
     settings.dbsocket = self.lineEditDBSOCKET.text()
     settings.esqloc = self.lineEditESQLOC.text()
     settings.completion_filter_mode = self.comboCcFilterMode.currentIndex()
     settings.cobc_extensions = [ext.lower() for ext in self.lineEditCobcExts.text().split(";") if ext]
     settings.dbpre_extensions = [ext.lower() for ext in self.lineEditDbpreExts.text().split(";") if ext]
     settings.esqloc_extensions = [ext for ext in self.lineEditesqlOcExts.text().split(";") if ext]
Example #6
0
 def restore_defaults(self):
     settings = Settings()
     index = self.tabWidget.currentIndex()
     # Editor
     if index == 0:
         settings.show_error = True
         settings.display_lines = True
         settings.highlight_caret = True
         settings.show_whitespaces = False
         settings.tab_len = 4
         settings.enable_autoindent = True
         settings.code_completion_trigger_len = 1
         settings.comment_indicator = "*> "
         settings.enable_smart_backspace = False
         settings.lower_case_keywords = False
         settings.autodetect_eol = True
         settings.preferred_eol = 0
         settings.code_completion_trigger_len = 1
     # Style
     elif index == 1:
         settings.dark_style = False
         settings.icon_theme = "default"
         settings.font = "Source Code Pro"
         settings.font_size = 11
         settings.colorScheme = "qt"
     # run
     elif index == 3:
         settings.external_terminal = False
         settings.external_terminal_command = None
     # compiler
     elif index == 2:
         settings.autodetect_submodules = True
         settings.output_directory = "bin"
         settings.free_format = False
         settings.cobol_standard = GnuCobolStandard.default
         settings.compiler_path = Settings.default_compiler_path()
         settings.compiler_flags = ["-debug"]
         settings.copybook_paths = ""
         settings.library_search_path = ""
         settings.libraries = ""
         settings.cobc_extensions = [".cob", ".cbl", ".pco", ".cpy", ".lst"]
         if system.windows:
             settings.vcvars32 = ""
         settings.path = settings.default_path()
         settings.path_enabled = True
         settings.cob_config_dir = settings.default_config_dir()
         settings.cob_config_dir_enabled = True
         settings.cob_copy_dir = settings.default_copy_dir()
         settings.cob_copy_dir_enabled = True
         settings.cob_include_path = settings.default_include_dir()
         settings.cob_include_path_enabled = True
         settings.cob_lib_path = settings.default_lib_path()
         settings.cob_lib_path_enabled = True
     elif index == 4:
         settings.dbpre = ""
         settings.dbpre_extensions = [".scb"]
         settings.dbpre_framework = ""
         settings.cobmysqlapi = ""
         settings.dbhost = "localhost"
         settings.dbuser = ""
         settings.dbpasswd = ""
         settings.dbname = ""
         settings.dbport = "03306"
         settings.dbsocket = "null"
         settings.esqloc = ""
         settings.esqloc_extensions = [".sqb"]
     self.reset()
 def restore_defaults(self):
     settings = Settings()
     index = self.tabWidget.currentIndex()
     # Editor
     if index == 0:
         settings.show_cursor_pos_in_bytes = False
         settings.show_error = True
         settings.display_lines = True
         settings.highlight_caret = True
         settings.show_whitespaces = False
         settings.tab_len = 4
         settings.enable_autoindent = True
         settings.code_completion_trigger_len = 1
         settings.comment_indicator = '*> '
         settings.enable_smart_backspace = False
         settings.lower_case_keywords = False
         settings.autodetect_eol = True
         settings.preferred_eol = 0
         settings.code_completion_trigger_len = 1
     # Style
     elif index == 1:
         settings.dark_style = False
         settings.icon_theme = 'default'
         settings.font = 'Source Code Pro'
         settings.font_size = 11
         settings.colorScheme = 'qt'
     # run
     elif index == 3:
         settings.external_terminal = False
         settings.external_terminal_command = None
     # compiler
     elif index == 2:
         settings.autodetect_submodules = True
         settings.output_directory = 'bin'
         settings.free_format = False
         settings.cobol_standard = GnuCobolStandard.default
         settings.compiler_path = Settings.default_compiler_path()
         settings.compiler_flags = ['-debug']
         settings.copybook_paths = ''
         settings.library_search_path = ''
         settings.libraries = ''
         settings.cobc_extensions = ['.cob', '.cbl', '.pco', '.cpy', '.lst']
         if system.windows:
             settings.vcvarsall = ''
             settings.vcvarsall_arch = 'x86'
         settings.path = settings.default_path()
         settings.path_enabled = True
         settings.cob_config_dir = settings.default_config_dir()
         settings.cob_config_dir_enabled = True
         settings.cob_copy_dir = settings.default_copy_dir()
         settings.cob_copy_dir_enabled = True
         settings.cob_include_path = settings.default_include_dir()
         settings.cob_include_path_enabled = True
         settings.cob_lib_path = settings.default_lib_path()
         settings.cob_lib_path_enabled = True
     elif index == 4:
         settings.dbpre = ''
         settings.dbpre_extensions = ['.scb']
         settings.dbpre_framework = ''
         settings.cobmysqlapi = ''
         settings.dbhost = 'localhost'
         settings.dbuser = ''
         settings.dbpasswd = ''
         settings.dbname = ''
         settings.dbport = '03306'
         settings.dbsocket = 'null'
         settings.esqloc = ''
         settings.esqloc_extensions = ['.sqb']
     self.reset()