def main(src=None):

    build_dir = 'build/'
    output_dir = 'output/'

    print 'Clearing output directory: %s' % output_dir
    clear_and_recreate_dir(output_dir)

    # single_file_mode = os.path.isfile(src)
    if src:
        print ' Testing Component: %s' % src
        src_files = [src]
    else:
        print ' Testing all Components.'
        src_files = TestableComponent.list_available()
        # src_files = glob.glob( src + '/*.py')

    for src_file in src_files:

        # Clear the build-dir
        clear_and_recreate_dir(build_dir)
        clear_and_recreate_dir('nineml_mechanisms')

        # Load the file:
        print '  -- Loading from file: %s' % src_file
        t = TestableComponent(src_file)

        # Run some tests:
        TestXMLWriteReadWrite.test(t, build_dir=build_dir)
        TestWriteDot.test(t, build_dir=build_dir)

        if t.has_metadata():
            if t.metadata.is_neuron_model:
                test_write_mod(t)

            if src:
                flg = 'supports_test_pynn_neuron_std'
                if t.metadata.__dict__.get(flg, False):
                    test_pynn_neuron_std(t)

        # Save all the output files:

        shutil.move(build_dir, output_dir)
        shutil.move(os.path.join(output_dir, build_dir),
                    os.path.join(output_dir, src_file.replace('.py', '')))
        print '  Everything Ran Fine'
        print '  -------------------'
Beispiel #2
0
def test_other(component_name):
    nineml_component = TestableComponent(component_name)()
    if not nineml_component:
        raise RuntimeError('Cannot load NineML component {0}'.format(component_name))

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component)
    results = inspector.showQtGUI()
    return results, inspector

if __name__ == "__main__":
    tests_data = []
    tmpFolder = tempfile.gettempdir()
    
    app = QtGui.QApplication(sys.argv)
    components = sorted(TestableComponent.list_available())
    component_name, ok = QtGui.QInputDialog.getItem(None, "nineml_desktop_app", "Select the testable component name", components, 0, False)
    if not ok:
       exit(0) 

    component_name = str(component_name)
    if(component_name == 'iaf'):
        results, inspector = test_iaf()
    elif(component_name == 'coba_synapse'):
        results, inspector = test_coba_synapse()
    elif(component_name == 'hierachical_iaf_1coba'):
        results, inspector = test_hierachical_iaf_1coba()
    else:
        results, inspector = test_other(component_name)
    
    if results:
Beispiel #3
0
def test_generator():
    testable_components = [TestableComponent(source_file)
                       for source_file in TestableComponent.list_available()]
    nrn_components = [tc() for tc in testable_components] #  if (tc.has_metadata() and tc.metadata.is_neuron_model)]
    for tc in nrn_components:
        yield write_and_compile_nmodl, tc
Beispiel #4
0
    if not nineml_component:
        raise RuntimeError(
            'Cannot load NineML component {0}'.format(component_name))

    inspector = nineml_component_inspector()
    inspector.inspect(nineml_component)
    results = inspector.showQtGUI()
    return results, inspector


if __name__ == "__main__":
    tests_data = []
    tmpFolder = tempfile.gettempdir()

    app = QtGui.QApplication(sys.argv)
    components = sorted(TestableComponent.list_available())
    component_name, ok = QtGui.QInputDialog.getItem(
        None, "nineml_desktop_app", "Select the testable component name",
        components, 0, False)
    if not ok:
        exit(0)

    component_name = str(component_name)
    if (component_name == 'iaf'):
        results, inspector = test_iaf()
    elif (component_name == 'coba_synapse'):
        results, inspector = test_coba_synapse()
    elif (component_name == 'hierachical_iaf_1coba'):
        results, inspector = test_hierachical_iaf_1coba()
    else:
        results, inspector = test_other(component_name)