From ff9dc178d9c26bd4dd36a51ef9fbf068f67b702b Mon Sep 17 00:00:00 2001 From: Alexander Senier Date: Wed, 30 Jan 2019 09:01:07 +0100 Subject: [PATCH] Port aunit unit test library --- lib/import/import-libaunit.mk | 15 + lib/mk/libaunit.mk | 43 +++ lib/symbols/libaunit | 576 ++++++++++++++++++++++++++++++++++ ports/aunit.hash | 1 + ports/aunit.port | 8 + run/test-aunit.run | 48 +++ src/test/aunit/startup.cc | 14 + src/test/aunit/target.mk | 22 ++ 8 files changed, 727 insertions(+) create mode 100644 lib/import/import-libaunit.mk create mode 100644 lib/mk/libaunit.mk create mode 100644 lib/symbols/libaunit create mode 100644 ports/aunit.hash create mode 100644 ports/aunit.port create mode 100644 run/test-aunit.run create mode 100644 src/test/aunit/startup.cc create mode 100644 src/test/aunit/target.mk diff --git a/lib/import/import-libaunit.mk b/lib/import/import-libaunit.mk new file mode 100644 index 0000000..4bf687b --- /dev/null +++ b/lib/import/import-libaunit.mk @@ -0,0 +1,15 @@ +AUNIT_SRC_DIR := $(call select_from_ports,aunit)/aunit-gpl-2018-src + +INC_DIR += $(AUNIT_SRC_DIR)/include/aunit/framework +INC_DIR += $(AUNIT_SRC_DIR)/include/aunit/framework/staticmemory +INC_DIR += $(AUNIT_SRC_DIR)/include/aunit/framework/nocalendar +INC_DIR += $(AUNIT_SRC_DIR)/include/aunit/framework/fullexception +INC_DIR += $(AUNIT_SRC_DIR)/include/aunit/containers +INC_DIR += $(AUNIT_SRC_DIR)/include/aunit/reporters + +REP_INC_DIR += include/aunit/framework +REP_INC_DIR += include/aunit/framework/staticmemory +REP_INC_DIR += include/aunit/framework/nocalendar +REP_INC_DIR += include/aunit/framework/fullexception +REP_INC_DIR += include/aunit/containers +REP_INC_DIR += include/aunit/reporters diff --git a/lib/mk/libaunit.mk b/lib/mk/libaunit.mk new file mode 100644 index 0000000..0821feb --- /dev/null +++ b/lib/mk/libaunit.mk @@ -0,0 +1,43 @@ +include $(REP_DIR)/lib/import/import-libaunit.mk + +SRC_ADS += \ + aunit-memory.ads \ + aunit-memory-utils.ads \ + aunit-options.ads \ + aunit-reporter.ads \ + aunit-tests.ads \ + ada_containers.ads \ + +SRC_ADB += \ + aunit.adb \ + aunit-assertions.adb \ + aunit-run.adb \ + aunit-simple_test_cases.adb \ + aunit-test_caller.adb \ + aunit-test_cases.adb \ + aunit-test_filters.adb \ + aunit-test_fixtures.adb \ + aunit-test_results.adb \ + aunit-test_suites.adb \ + aunit-reporter-text.adb \ + ada_containers-aunit_lists.adb \ + aunit-time_measure.adb + +SOURCES = $(AUNIT_SRC_DIR)/include/aunit + +vpath %.adb $(SOURCES)/framework +vpath %.adb $(SOURCES)/framework/staticmemory +vpath %.adb $(SOURCES)/framework/nocalendar +vpath %.adb $(SOURCES)/framework/fullexception +vpath %.adb $(SOURCES)/containers +vpath %.adb $(SOURCES)/reporters + +vpath %.ads $(SOURCES)/framework +vpath %.ads $(SOURCES)/framework/staticmemory +vpath %.ads $(SOURCES)/framework/nocalendar +vpath %.ads $(SOURCES)/framework/fullexception +vpath %.ads $(SOURCES)/containers +vpath %.ads $(SOURCES)/reporters + +LIBS += ada +SHARED_LIB = yes diff --git a/lib/symbols/libaunit b/lib/symbols/libaunit new file mode 100644 index 0000000..c5d9ffc --- /dev/null +++ b/lib/symbols/libaunit @@ -0,0 +1,576 @@ +ada_containers_E D 2 +ada_containers__aunit_lists_E D 2 +aunit_E D 2 +aunit__assertions_E D 2 +aunit__assertions__C144s D 4 +aunit__assertions__R3s D 8 +aunit__assertions__TtestCFD T +aunit__assertions___elabb T +aunit__assertions___elabs T +aunit__assertions___master B 4 +aunit__assertions___size__2 T +aunit__assertions__assert T +aunit__assertions__assert__2 T +aunit__assertions__assert__3 T +aunit__assertions__assert_exception T +aunit__assertions__assertion_error D 40 +aunit__assertions__assertion_errorE R 33 +aunit__assertions__clear_failures T +aunit__assertions__copy_id T +aunit__assertions__current_id D 4 +aunit__assertions__current_test T +aunit__assertions__failure_eltIP T +aunit__assertions__failure_lists__Oeq__2 T +aunit__assertions__failure_lists__TlistCFD T +aunit__assertions__failure_lists___size T +aunit__assertions__failure_lists__append T +aunit__assertions__failure_lists__clear T +aunit__assertions__failure_lists__contains T +aunit__assertions__failure_lists__cursorIP T +aunit__assertions__failure_lists__delete T +aunit__assertions__failure_lists__delete_first T +aunit__assertions__failure_lists__delete_last T +aunit__assertions__failure_lists__element T +aunit__assertions__failure_lists__find T +aunit__assertions__failure_lists__first T +aunit__assertions__failure_lists__first_element T +aunit__assertions__failure_lists__has_element T +aunit__assertions__failure_lists__insert T +aunit__assertions__failure_lists__insert__2 T +aunit__assertions__failure_lists__insert__3 T +aunit__assertions__failure_lists__insert_internal T +aunit__assertions__failure_lists__is_empty T +aunit__assertions__failure_lists__iterate T +aunit__assertions__failure_lists__last T +aunit__assertions__failure_lists__last_element T +aunit__assertions__failure_lists__length T +aunit__assertions__failure_lists__listB26s D 80 +aunit__assertions__failure_lists__listDF T +aunit__assertions__failure_lists__listE22s R 36 +aunit__assertions__failure_lists__listH23s D 8 +aunit__assertions__failure_lists__listIP T +aunit__assertions__failure_lists__listP D 8 +aunit__assertions__failure_lists__listR24s D 8 +aunit__assertions__failure_lists__listR24s___UNC D 80 +aunit__assertions__failure_lists__listT D 248 +aunit__assertions__failure_lists__listY D 8 +aunit__assertions__failure_lists__move T +aunit__assertions__failure_lists__new_node_type T +aunit__assertions__failure_lists__new_node_type__2 T +aunit__assertions__failure_lists__next T +aunit__assertions__failure_lists__next__2 T +aunit__assertions__failure_lists__no_element R 16 +aunit__assertions__failure_lists__node_typeIP T +aunit__assertions__failure_lists__prepend T +aunit__assertions__failure_lists__previous T +aunit__assertions__failure_lists__previous__2 T +aunit__assertions__failure_lists__replace_element T +aunit__assertions__failure_lists__reverse_elements T +aunit__assertions__failure_lists__reverse_find T +aunit__assertions__failure_lists__splice T +aunit__assertions__failure_lists__splice__2 T +aunit__assertions__failure_lists__splice__3 T +aunit__assertions__failure_lists__swap T +aunit__assertions__failure_lists__swap_links T +aunit__assertions__failure_lists__vet T +aunit__assertions__failures B 40 +aunit__assertions__finalize_spec T +aunit__assertions__first_failure T +aunit__assertions__get_failure T +aunit__assertions__has_failure T +aunit__assertions__has_failures T +aunit__assertions__init_test T +aunit__assertions__next T +aunit__assertions__null_id R 4 +aunit__assertions__set_current_test T +aunit__assertions__testB102s D 88 +aunit__assertions__testDF__2 T +aunit__assertions__testE98s R 22 +aunit__assertions__testH99s D 8 +aunit__assertions__testIP T +aunit__assertions__testP D 8 +aunit__assertions__testR100s D 8 +aunit__assertions__testR100s___UNC D 80 +aunit__assertions__testT D 64 +aunit__assertions__testY D 8 +aunit__assertions__test_accessFM B 56 +aunit__assertions__the_current_test D 8 +aunit__boundsIP T +aunit__fat_pointerIP T +aunit__format T +aunit__last_chance_handler_E T +aunit__memory_E D 2 +aunit__memory__aunit_alloc T +aunit__memory__aunit_free T +aunit__memory__mem B 102400 +aunit__memory__memoryIP T +aunit__memory__top D 8 +aunit__memory__utils_E D 2 +aunit__message_alloc T +aunit__message_free T +aunit__options_E D 2 +aunit__options__aunit_optionsIP T +aunit__options__default_options R 16 +aunit__reporter_E D 2 +aunit__reporter__Oeq T +aunit__reporter__TreporterCFD T +aunit__reporter___assign T +aunit__reporter___elabs T +aunit__reporter___size T +aunit__reporter__reporterB29s D 80 +aunit__reporter__reporterDA T +aunit__reporter__reporterDF T +aunit__reporter__reporterE25s R 24 +aunit__reporter__reporterH26s D 8 +aunit__reporter__reporterIP T +aunit__reporter__reporterP D 8 +aunit__reporter__reporterR27s D 8 +aunit__reporter__reporterR27s___UNC D 80 +aunit__reporter__reporterSO T +aunit__reporter__reporterSR T +aunit__reporter__reporterSW T +aunit__reporter__reporterT D 40 +aunit__reporter__reporterY D 8 +aunit__reporter__text_E D 2 +aunit__reporter__text__Oeq__2 T +aunit__reporter__text__Ttext_reporterCFD T +aunit__reporter__text___assign__2 T +aunit__reporter__text___elabs T +aunit__reporter__text___size__2 T +aunit__reporter__text__ansi_def R 4 +aunit__reporter__text__ansi_green R 8 +aunit__reporter__text__ansi_purple R 8 +aunit__reporter__text__ansi_red R 8 +aunit__reporter__text__dump_result_list T +aunit__reporter__text__finalize_spec T +aunit__reporter__text__indent T +aunit__reporter__text__put_measure T +aunit__reporter__text__report T +aunit__reporter__text__report_error_tests T +aunit__reporter__text__report_fail_tests T +aunit__reporter__text__report_ok_tests T +aunit__reporter__text__report_test T +aunit__reporter__text__set_use_ansi_colors T +aunit__reporter__text__text_reporterB33s D 88 +aunit__reporter__text__text_reporterDA__2 T +aunit__reporter__text__text_reporterDF__2 T +aunit__reporter__text__text_reporterE29s R 34 +aunit__reporter__text__text_reporterH30s D 8 +aunit__reporter__text__text_reporterIP T +aunit__reporter__text__text_reporterP D 8 +aunit__reporter__text__text_reporterR31s D 8 +aunit__reporter__text__text_reporterR31s___UNC D 80 +aunit__reporter__text__text_reporterSI__2 T +aunit__reporter__text__text_reporterSO__2 T +aunit__reporter__text__text_reporterSR__2 T +aunit__reporter__text__text_reporterSW__2 T +aunit__reporter__text__text_reporterT D 72 +aunit__reporter__text__text_reporterY D 8 +aunit__run_E D 2 +aunit__run__run T +aunit__simple_test_cases_E D 2 +aunit__simple_test_cases__C58s D 4 +aunit__simple_test_cases__Ttest_caseCFD T +aunit__simple_test_cases___elabs T +aunit__simple_test_cases___master B 4 +aunit__simple_test_cases___size__2 T +aunit__simple_test_cases__finalize_spec T +aunit__simple_test_cases__routine_name T +aunit__simple_test_cases__run T +aunit__simple_test_cases__run_routine T +aunit__simple_test_cases__set_up T +aunit__simple_test_cases__tear_down T +aunit__simple_test_cases__test_caseB24s D 96 +aunit__simple_test_cases__test_caseDF__2 T +aunit__simple_test_cases__test_caseE20s R 34 +aunit__simple_test_cases__test_caseH21s D 8 +aunit__simple_test_cases__test_caseIP T +aunit__simple_test_cases__test_caseP D 8 +aunit__simple_test_cases__test_caseR22s D 8 +aunit__simple_test_cases__test_caseR22s___UNC D 80 +aunit__simple_test_cases__test_caseT D 112 +aunit__simple_test_cases__test_caseY D 8 +aunit__simple_test_cases__test_case_accessFM B 56 +aunit__statusN R 4 +aunit__statusS R 16 +aunit__test_caller_E D 2 +aunit__test_cases_E D 2 +aunit__test_cases__C236s D 4 +aunit__test_cases__Ttest_caseCFD T +aunit__test_cases___elabs T +aunit__test_cases___master B 4 +aunit__test_cases___size__2 T +aunit__test_cases__add_routine T +aunit__test_cases__failure_lists__Oeq__2 T +aunit__test_cases__failure_lists__TlistCFD T +aunit__test_cases__failure_lists___size T +aunit__test_cases__failure_lists__append T +aunit__test_cases__failure_lists__clear T +aunit__test_cases__failure_lists__contains T +aunit__test_cases__failure_lists__cursorIP T +aunit__test_cases__failure_lists__delete T +aunit__test_cases__failure_lists__delete_first T +aunit__test_cases__failure_lists__delete_last T +aunit__test_cases__failure_lists__element T +aunit__test_cases__failure_lists__find T +aunit__test_cases__failure_lists__first T +aunit__test_cases__failure_lists__first_element T +aunit__test_cases__failure_lists__has_element T +aunit__test_cases__failure_lists__insert T +aunit__test_cases__failure_lists__insert__2 T +aunit__test_cases__failure_lists__insert__3 T +aunit__test_cases__failure_lists__insert_internal T +aunit__test_cases__failure_lists__is_empty T +aunit__test_cases__failure_lists__iterate T +aunit__test_cases__failure_lists__last T +aunit__test_cases__failure_lists__last_element T +aunit__test_cases__failure_lists__length T +aunit__test_cases__failure_lists__listB99s D 80 +aunit__test_cases__failure_lists__listDF T +aunit__test_cases__failure_lists__listE95s R 36 +aunit__test_cases__failure_lists__listH96s D 8 +aunit__test_cases__failure_lists__listIP T +aunit__test_cases__failure_lists__listP D 8 +aunit__test_cases__failure_lists__listR97s D 8 +aunit__test_cases__failure_lists__listR97s___UNC D 80 +aunit__test_cases__failure_lists__listT D 248 +aunit__test_cases__failure_lists__listY D 8 +aunit__test_cases__failure_lists__move T +aunit__test_cases__failure_lists__new_node_type T +aunit__test_cases__failure_lists__new_node_type__2 T +aunit__test_cases__failure_lists__next T +aunit__test_cases__failure_lists__next__2 T +aunit__test_cases__failure_lists__no_element R 16 +aunit__test_cases__failure_lists__node_typeIP T +aunit__test_cases__failure_lists__prepend T +aunit__test_cases__failure_lists__previous T +aunit__test_cases__failure_lists__previous__2 T +aunit__test_cases__failure_lists__replace_element T +aunit__test_cases__failure_lists__reverse_elements T +aunit__test_cases__failure_lists__reverse_find T +aunit__test_cases__failure_lists__splice T +aunit__test_cases__failure_lists__splice__2 T +aunit__test_cases__failure_lists__splice__3 T +aunit__test_cases__failure_lists__swap T +aunit__test_cases__failure_lists__swap_links T +aunit__test_cases__failure_lists__vet T +aunit__test_cases__finalize_spec T +aunit__test_cases__registration__register_routine T +aunit__test_cases__registration__routine_count T +aunit__test_cases__routine_lists__Oeq__2 T +aunit__test_cases__routine_lists__TlistCFD T +aunit__test_cases__routine_lists___size T +aunit__test_cases__routine_lists__append T +aunit__test_cases__routine_lists__clear T +aunit__test_cases__routine_lists__contains T +aunit__test_cases__routine_lists__cursorIP T +aunit__test_cases__routine_lists__delete T +aunit__test_cases__routine_lists__delete_first T +aunit__test_cases__routine_lists__delete_last T +aunit__test_cases__routine_lists__element T +aunit__test_cases__routine_lists__find T +aunit__test_cases__routine_lists__first T +aunit__test_cases__routine_lists__first_element T +aunit__test_cases__routine_lists__has_element T +aunit__test_cases__routine_lists__insert T +aunit__test_cases__routine_lists__insert__2 T +aunit__test_cases__routine_lists__insert__3 T +aunit__test_cases__routine_lists__insert_internal T +aunit__test_cases__routine_lists__is_empty T +aunit__test_cases__routine_lists__iterate T +aunit__test_cases__routine_lists__last T +aunit__test_cases__routine_lists__last_element T +aunit__test_cases__routine_lists__length T +aunit__test_cases__routine_lists__listB25s D 80 +aunit__test_cases__routine_lists__listDF T +aunit__test_cases__routine_lists__listE21s R 36 +aunit__test_cases__routine_lists__listH22s D 8 +aunit__test_cases__routine_lists__listIP T +aunit__test_cases__routine_lists__listP D 8 +aunit__test_cases__routine_lists__listR23s D 8 +aunit__test_cases__routine_lists__listR23s___UNC D 80 +aunit__test_cases__routine_lists__listT D 248 +aunit__test_cases__routine_lists__listY D 8 +aunit__test_cases__routine_lists__move T +aunit__test_cases__routine_lists__new_node_type T +aunit__test_cases__routine_lists__new_node_type__2 T +aunit__test_cases__routine_lists__next T +aunit__test_cases__routine_lists__next__2 T +aunit__test_cases__routine_lists__no_element R 16 +aunit__test_cases__routine_lists__node_typeIP T +aunit__test_cases__routine_lists__prepend T +aunit__test_cases__routine_lists__previous T +aunit__test_cases__routine_lists__previous__2 T +aunit__test_cases__routine_lists__replace_element T +aunit__test_cases__routine_lists__reverse_elements T +aunit__test_cases__routine_lists__reverse_find T +aunit__test_cases__routine_lists__splice T +aunit__test_cases__routine_lists__splice__2 T +aunit__test_cases__routine_lists__splice__3 T +aunit__test_cases__routine_lists__swap T +aunit__test_cases__routine_lists__swap_links T +aunit__test_cases__routine_lists__vet T +aunit__test_cases__routine_name T +aunit__test_cases__routine_specIP T +aunit__test_cases__run T +aunit__test_cases__run_test T +aunit__test_cases__set_up_case T +aunit__test_cases__tear_down_case T +aunit__test_cases__test_caseB175s D 104 +aunit__test_cases__test_caseDF__2 T +aunit__test_cases__test_caseE171s R 27 +aunit__test_cases__test_caseH172s D 8 +aunit__test_cases__test_caseIP T +aunit__test_cases__test_caseP D 8 +aunit__test_cases__test_caseR173s D 8 +aunit__test_cases__test_caseR173s___UNC D 80 +aunit__test_cases__test_caseT D 136 +aunit__test_cases__test_caseY D 8 +aunit__test_cases__test_case_accessFM B 56 +aunit__test_filters_E D 2 +aunit__test_filters__C94s D 4 +aunit__test_filters__Tname_filterCFD T +aunit__test_filters__Ttest_filterCFD T +aunit__test_filters___elabs T +aunit__test_filters___master B 4 +aunit__test_filters___size T +aunit__test_filters___size__3 T +aunit__test_filters__finalize_spec T +aunit__test_filters__is_active__2 T +aunit__test_filters__name_filterB60s D 88 +aunit__test_filters__name_filterDF__2 T +aunit__test_filters__name_filterE56s R 31 +aunit__test_filters__name_filterH57s D 8 +aunit__test_filters__name_filterIP T +aunit__test_filters__name_filterP D 8 +aunit__test_filters__name_filterR58s D 8 +aunit__test_filters__name_filterR58s___UNC D 80 +aunit__test_filters__name_filterT D 48 +aunit__test_filters__name_filterY D 8 +aunit__test_filters__set_name T +aunit__test_filters__test_filterB35s D 80 +aunit__test_filters__test_filterDF T +aunit__test_filters__test_filterE31s R 31 +aunit__test_filters__test_filterH32s D 8 +aunit__test_filters__test_filterIP T +aunit__test_filters__test_filterP D 8 +aunit__test_filters__test_filterR33s D 8 +aunit__test_filters__test_filterR33s___UNC D 80 +aunit__test_filters__test_filterT D 40 +aunit__test_filters__test_filterY D 8 +aunit__test_filters__test_filter_accessFM B 56 +aunit__test_fixtures_E D 2 +aunit__test_fixtures__Ttest_fixtureCFD T +aunit__test_fixtures___elabs T +aunit__test_fixtures___size__2 T +aunit__test_fixtures__finalize_spec T +aunit__test_fixtures__set_up T +aunit__test_fixtures__tear_down T +aunit__test_fixtures__test_fixtureB18s D 96 +aunit__test_fixtures__test_fixtureDF__2 T +aunit__test_fixtures__test_fixtureE14s R 33 +aunit__test_fixtures__test_fixtureH15s D 8 +aunit__test_fixtures__test_fixtureIP T +aunit__test_fixtures__test_fixtureP D 8 +aunit__test_fixtures__test_fixtureR16s D 8 +aunit__test_fixtures__test_fixtureR16s___UNC D 80 +aunit__test_fixtures__test_fixtureT D 80 +aunit__test_fixtures__test_fixtureY D 8 +aunit__test_results_E D 2 +aunit__test_results__TresultCFD T +aunit__test_results___elabs T +aunit__test_results___size T +aunit__test_results__add_error T +aunit__test_results__add_failure T +aunit__test_results__add_success T +aunit__test_results__alloc_error T +aunit__test_results__alloc_failure T +aunit__test_results__clear T +aunit__test_results__e_count B 4 +aunit__test_results__elapsed T +aunit__test_results__error_count T +aunit__test_results__errors T +aunit__test_results__f_count B 4 +aunit__test_results__failure_count T +aunit__test_results__failures T +aunit__test_results__finalize_spec T +aunit__test_results__is_error T +aunit__test_results__is_failure T +aunit__test_results__is_success T +aunit__test_results__iterate_error T +aunit__test_results__iterate_failure T +aunit__test_results__iterate_success T +aunit__test_results__resultB95s D 80 +aunit__test_results__resultDF T +aunit__test_results__resultE91s R 26 +aunit__test_results__resultH92s D 8 +aunit__test_results__resultIP T +aunit__test_results__resultP D 8 +aunit__test_results__resultR93s D 8 +aunit__test_results__resultR93s___UNC D 80 +aunit__test_results__resultT D 152 +aunit__test_results__resultY D 8 +aunit__test_results__result_lists__Oeq__2 T +aunit__test_results__result_lists__TlistCFD T +aunit__test_results__result_lists___size T +aunit__test_results__result_lists__append T +aunit__test_results__result_lists__clear T +aunit__test_results__result_lists__contains T +aunit__test_results__result_lists__cursorIP T +aunit__test_results__result_lists__delete T +aunit__test_results__result_lists__delete_first T +aunit__test_results__result_lists__delete_last T +aunit__test_results__result_lists__element T +aunit__test_results__result_lists__find T +aunit__test_results__result_lists__first T +aunit__test_results__result_lists__first_element T +aunit__test_results__result_lists__has_element T +aunit__test_results__result_lists__insert T +aunit__test_results__result_lists__insert__2 T +aunit__test_results__result_lists__insert__3 T +aunit__test_results__result_lists__insert_internal T +aunit__test_results__result_lists__is_empty T +aunit__test_results__result_lists__iterate T +aunit__test_results__result_lists__last T +aunit__test_results__result_lists__last_element T +aunit__test_results__result_lists__length T +aunit__test_results__result_lists__listB22s D 80 +aunit__test_results__result_lists__listDF T +aunit__test_results__result_lists__listE18s R 37 +aunit__test_results__result_lists__listH19s D 8 +aunit__test_results__result_lists__listIP T +aunit__test_results__result_lists__listP D 8 +aunit__test_results__result_lists__listR20s D 8 +aunit__test_results__result_lists__listR20s___UNC D 80 +aunit__test_results__result_lists__listT D 248 +aunit__test_results__result_lists__listY D 8 +aunit__test_results__result_lists__move T +aunit__test_results__result_lists__new_node_type T +aunit__test_results__result_lists__new_node_type__2 T +aunit__test_results__result_lists__next T +aunit__test_results__result_lists__next__2 T +aunit__test_results__result_lists__no_element R 16 +aunit__test_results__result_lists__node_typeIP T +aunit__test_results__result_lists__prepend T +aunit__test_results__result_lists__previous T +aunit__test_results__result_lists__previous__2 T +aunit__test_results__result_lists__replace_element T +aunit__test_results__result_lists__reverse_elements T +aunit__test_results__result_lists__reverse_find T +aunit__test_results__result_lists__splice T +aunit__test_results__result_lists__splice__2 T +aunit__test_results__result_lists__splice__3 T +aunit__test_results__result_lists__swap T +aunit__test_results__result_lists__swap_links T +aunit__test_results__result_lists__vet T +aunit__test_results__s_count B 4 +aunit__test_results__set_elapsed T +aunit__test_results__start_test T +aunit__test_results__success_count T +aunit__test_results__successes T +aunit__test_results__successful T +aunit__test_results__test_count T +aunit__test_results__test_errorIP T +aunit__test_results__test_failureIP T +aunit__test_results__test_resultIP T +aunit__test_suites_E D 2 +aunit__test_suites__C159s D 4 +aunit__test_suites__Ttest_suiteCFD T +aunit__test_suites___elabs T +aunit__test_suites___master B 4 +aunit__test_suites___size__2 T +aunit__test_suites__access_test_suiteFM B 56 +aunit__test_suites__add_test T +aunit__test_suites__add_test__2 T +aunit__test_suites__finalize_spec T +aunit__test_suites__new_suite T +aunit__test_suites__run T +aunit__test_suites__test_lists__Oeq__2 T +aunit__test_suites__test_lists__TlistCFD T +aunit__test_suites__test_lists___size T +aunit__test_suites__test_lists__append T +aunit__test_suites__test_lists__clear T +aunit__test_suites__test_lists__contains T +aunit__test_suites__test_lists__cursorIP T +aunit__test_suites__test_lists__delete T +aunit__test_suites__test_lists__delete_first T +aunit__test_suites__test_lists__delete_last T +aunit__test_suites__test_lists__element T +aunit__test_suites__test_lists__find T +aunit__test_suites__test_lists__first T +aunit__test_suites__test_lists__first_element T +aunit__test_suites__test_lists__has_element T +aunit__test_suites__test_lists__insert T +aunit__test_suites__test_lists__insert__2 T +aunit__test_suites__test_lists__insert__3 T +aunit__test_suites__test_lists__insert_internal T +aunit__test_suites__test_lists__is_empty T +aunit__test_suites__test_lists__iterate T +aunit__test_suites__test_lists__last T +aunit__test_suites__test_lists__last_element T +aunit__test_suites__test_lists__length T +aunit__test_suites__test_lists__listB48s D 80 +aunit__test_suites__test_lists__listDF T +aunit__test_suites__test_lists__listE44s R 34 +aunit__test_suites__test_lists__listH45s D 8 +aunit__test_suites__test_lists__listIP T +aunit__test_suites__test_lists__listP D 8 +aunit__test_suites__test_lists__listR46s D 8 +aunit__test_suites__test_lists__listR46s___UNC D 80 +aunit__test_suites__test_lists__listT D 248 +aunit__test_suites__test_lists__listY D 8 +aunit__test_suites__test_lists__move T +aunit__test_suites__test_lists__new_node_type T +aunit__test_suites__test_lists__new_node_type__2 T +aunit__test_suites__test_lists__next T +aunit__test_suites__test_lists__next__2 T +aunit__test_suites__test_lists__no_element R 16 +aunit__test_suites__test_lists__node_typeIP T +aunit__test_suites__test_lists__prepend T +aunit__test_suites__test_lists__previous T +aunit__test_suites__test_lists__previous__2 T +aunit__test_suites__test_lists__replace_element T +aunit__test_suites__test_lists__reverse_elements T +aunit__test_suites__test_lists__reverse_find T +aunit__test_suites__test_lists__splice T +aunit__test_suites__test_lists__splice__2 T +aunit__test_suites__test_lists__splice__3 T +aunit__test_suites__test_lists__swap T +aunit__test_suites__test_lists__swap_links T +aunit__test_suites__test_lists__vet T +aunit__test_suites__test_suiteB120s D 88 +aunit__test_suites__test_suiteDF__2 T +aunit__test_suites__test_suiteE116s R 29 +aunit__test_suites__test_suiteH117s D 8 +aunit__test_suites__test_suiteIP T +aunit__test_suites__test_suiteP D 8 +aunit__test_suites__test_suiteR118s D 8 +aunit__test_suites__test_suiteR118s___UNC D 80 +aunit__test_suites__test_suiteT D 40 +aunit__test_suites__test_suiteY D 8 +aunit__test_suites__test_suite_elementD2 T +aunit__test_suites__test_suite_elementD3 T +aunit__test_suites__test_suite_elementEQ T +aunit__test_suites__test_suite_elementIP T +aunit__test_suites__test_suite_elt_kindN R 4 +aunit__test_suites__test_suite_elt_kindS R 16 +aunit__tests_E D 2 +aunit__tests__C47s D 4 +aunit__tests__TtestCFD T +aunit__tests___elabs T +aunit__tests___master B 4 +aunit__tests___size T +aunit__tests__finalize_spec T +aunit__tests__testB21s D 80 +aunit__tests__testDF T +aunit__tests__testE17s R 17 +aunit__tests__testH18s D 8 +aunit__tests__testIP T +aunit__tests__testP D 8 +aunit__tests__testR19s D 8 +aunit__tests__testR19s___UNC D 80 +aunit__tests__testT D 40 +aunit__tests__testY D 8 +aunit__tests__test_accessFM B 56 +aunit__time_measure_E T +aunit__time_measure___elabs T diff --git a/ports/aunit.hash b/ports/aunit.hash new file mode 100644 index 0000000..14191fe --- /dev/null +++ b/ports/aunit.hash @@ -0,0 +1 @@ +ccaffe90d69cf2059f99275c6e359919303b7b5d diff --git a/ports/aunit.port b/ports/aunit.port new file mode 100644 index 0000000..51418a0 --- /dev/null +++ b/ports/aunit.port @@ -0,0 +1,8 @@ +LICENSE := GPLv3 +VERSION := gpl-2018-20180524 +DOWNLOADS := aunit.archive + +URL(aunit) := http://mirrors.cdn.adacore.com/art/5b0819e0c7a447df26c27ab3 +NAME(aunit) := aunit-gpl-2018-20180524-src.tar.gz +SHA(aunit) := 4a1a1ee4b5b8535b675c4bc6767a22ecc26cf83a3c3c25749053d63b7604a07f +DIR(aunit) := aunit-gpl-2018-src diff --git a/run/test-aunit.run b/run/test-aunit.run new file mode 100644 index 0000000..8967706 --- /dev/null +++ b/run/test-aunit.run @@ -0,0 +1,48 @@ +build "core init server/log_terminal test/aunit" + +create_boot_directory + +install_config { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} + +build_boot_image { + core init test-aunit log_terminal + libc.lib.so vfs.lib.so ld.lib.so ada.lib.so libaunit.lib.so +} + +append qemu_args " -nographic " + +run_genode_until "child \"test-aunit\" exited with exit value 0" 20 diff --git a/src/test/aunit/startup.cc b/src/test/aunit/startup.cc new file mode 100644 index 0000000..813d3ff --- /dev/null +++ b/src/test/aunit/startup.cc @@ -0,0 +1,14 @@ +/* + * \brief Startup code for Ada main program + * \author Alexander Senier + * \date 2019-01-03 + */ + +#include + +extern "C" void _ada_aunit_harness(void); + +void Ada::Component::main() +{ + _ada_aunit_harness(); +} diff --git a/src/test/aunit/target.mk b/src/test/aunit/target.mk new file mode 100644 index 0000000..fd51d7d --- /dev/null +++ b/src/test/aunit/target.mk @@ -0,0 +1,22 @@ +TARGET = test-aunit + +SRC_ADB = \ + aunit_harness.adb \ + aunit_suite.adb \ + aunit-test_cases-tests.adb \ + aunit-test_cases-tests_fixtures.adb \ + aunit-test_cases-tests-suite.adb \ + aunit-test_fixtures-tests.adb \ + aunit-test_fixtures-tests_fixtures.adb \ + aunit-test_fixtures-tests-suite.adb \ + aunit-test_suites-tests.adb \ + aunit-test_suites-tests_fixtures.adb \ + aunit-test_suites-tests-suite.adb + +SRC_CC = startup.cc +LIBS = libc ada libaunit + +AUNIT_DIR = $(call select_from_ports,aunit)/aunit-gpl-2018-src + +INC_DIR += $(AUNIT_DIR)/test/src $(PRG_DIR) +vpath %.adb $(AUNIT_DIR)/test/src