def test_all(self):
        file_name = 'Test_CC_test_all.scpi.txt'
        test_path = Path('test_output') / file_name
        os.makedirs('test_output', exist_ok=True)

        transport = FileTransport(str(test_path))
        cc = CC('cc', transport, ccio_slots_driving_vsm=[5])

        cc.reset()
        cc.clear_status()
        cc.set_status_questionable_frequency_enable(0x7FFF)

        cc.dio0_out_delay(0)
        cc.dio0_out_delay(31)
        cc.dio8_out_delay(0)
        cc.dio8_out_delay(31)

        cc.vsm_channel_delay0(0)
        cc.vsm_channel_delay0(1)
        cc.vsm_channel_delay0(127)
        cc.vsm_channel_delay31(0)
        cc.vsm_channel_delay31(127)

        cc.vsm_rise_delay0(0)
        cc.vsm_rise_delay0(48)
        cc.vsm_rise_delay31(0)
        cc.vsm_rise_delay31(48)
        cc.vsm_fall_delay0(0)
        cc.vsm_fall_delay0(48)
        cc.vsm_fall_delay31(0)
        cc.vsm_fall_delay31(48)

        cc.debug_marker_in(0, cc.UHFQA_TRIG)
        cc.debug_marker_in(0, cc.UHFQA_CW[0])

        cc.debug_marker_out(0, cc.UHFQA_TRIG)
        cc.debug_marker_out(8, cc.HDAWG_TRIG)

        prog = '    stop\n'
        cc.sequence_program_assemble(prog)

        tmp_file = tempfile.NamedTemporaryFile(mode='w', delete=False)
        tmp_file.write(prog)
        tmp_file.close()  # to allow access to file
        # FIXME: disabled because it requires input data, which we do not support yet
        #cc.eqasm_program(tmp_file.name)
        os.unlink(tmp_file.name)

        cc.start()
        cc.stop()

        transport.close()  # to allow access to file

        # check results
        test_output = test_path.read_text()
        golden_path = Path(
            pq.__path__[0]
        ) / 'tests/instrument_drivers/physical_instruments/QuTech/golden' / file_name
        golden = golden_path.read_text()
        self.assertEqual(test_output, golden)
            # FIXME: does not match with uhfqa_prog, which requires single trigger
            cc_prog = inspect.cleandoc("""
            # program: UHFQA trigger program
            .DEF    wait        9
            
            loop:   seq_out     0x03FF0000,1            # NB: TRIG=0x00010000, CW[8:0]=0x03FE0000
                    seq_out     0x0,$wait
                    jmp         @loop
            """)
            cc.assemble_and_start(cc_prog)

            log.debug('calibrating DIO protocol on CC')
            if 0:  # marker outputs
                if 1:
                    cc.debug_marker_in(
                        cc_slot_uhfqa0, cc.UHFQA_DV
                    )  # watch DV to check upstream period/frequency
                else:
                    cc.debug_marker_out(
                        cc_slot_uhfqa0, cc.UHFQA_TRIG
                    )  # watch TRIG to check downstream period/frequency
            cc.calibrate_dio_protocol(dio_mask=dio_mask,
                                      expected_sequence=expected_sequence,
                                      port=cc_slot_uhfqa0)

            dio_rd_index = cc.debug_get_ccio_reg(cc_slot_uhfqa0,
                                                 SYS_ST_OPER_DIO_RD_INDEX)
            log.info(
                f'DIO calibration condition = 0x{cc.debug_get_ccio_reg(cc_slot_uhfqa0, SYS_ST_QUES_DIOCAL_COND):x} (0=OK)'
            )
            log.info(f'DIO read index = {dio_rd_index}')