From 95183b5760d7f168ae093ae8f9b29740628a278f Mon Sep 17 00:00:00 2001 From: Chris Dyer Date: Tue, 3 Mar 2015 01:14:07 -0500 Subject: migration to cmake --- extractor/CMakeLists.txt | 132 +++++++++++++++++++++++++++++++ extractor/Makefile.am | 192 ---------------------------------------------- extractor/scorer2_test.cc | 49 ++++++++++++ extractor/scorer_test.cc | 49 ------------ 4 files changed, 181 insertions(+), 241 deletions(-) create mode 100644 extractor/CMakeLists.txt delete mode 100644 extractor/Makefile.am create mode 100644 extractor/scorer2_test.cc delete mode 100644 extractor/scorer_test.cc (limited to 'extractor') diff --git a/extractor/CMakeLists.txt b/extractor/CMakeLists.txt new file mode 100644 index 00000000..d37c6b95 --- /dev/null +++ b/extractor/CMakeLists.txt @@ -0,0 +1,132 @@ +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/features) + +find_package(GTest) +find_package(GMock) +if(GMOCK_FOUND) + set(TEST_SRCS alignment_test.cc + data_array_test.cc + fast_intersector_test.cc + grammar_extractor_test.cc + matchings_finder_test.cc + matchings_sampler_test.cc + phrase_location_sampler_test.cc + phrase_test.cc + precomputation_test.cc + rule_extractor_helper_test.cc + rule_extractor_test.cc + rule_factory_test.cc + scorer2_test.cc + suffix_array_sampler_test.cc + suffix_array_test.cc + target_phrase_extractor_test.cc + translation_table_test.cc + vocabulary_test.cc) + INCLUDE_DIRECTORIES(${GTEST_INCLUDE_DIRS}) + INCLUDE_DIRECTORIES(${GMOCK_INCLUDE_DIRS}) + foreach(testSrc ${TEST_SRCS}) + #Extract the filename without an extension (NAME_WE) + get_filename_component(testName ${testSrc} NAME_WE) + + #Add compile target + add_executable(${testName} ${testSrc}) + + #link to Boost libraries AND your targets and dependencies + target_link_libraries(${testName} extractor ${GMOCK_BOTH_LIBRARIES} ${GTEST_BOTH_LIBRARIES} ${Boost_LIBRARIES} ${ZLIB_LIBRARIES}) + + #I like to move testing binaries into a testBin directory + set_target_properties(${testName} PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + + #Finally add it to test execution - + #Notice the WORKING_DIRECTORY and COMMAND + add_test(NAME ${testName} COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${testName} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endforeach(testSrc) +endif(GMOCK_FOUND) + +set(sacompile_SRCS sacompile.cc) +add_executable(sacompile ${sacompile_SRCS}) +target_link_libraries(sacompile extractor ${Boost_LIBRARIES} z) + +set(run_extractor_SRCS run_extractor.cc) +add_executable(run_extractor ${run_extractor_SRCS}) +target_link_libraries(run_extractor extractor ${Boost_LIBRARIES} z) + + +set(extract_SRCS extract.cc) +add_executable(extract ${extract_SRCS}) +target_link_libraries(extract extractor ${Boost_LIBRARIES} z) + + +set(extractor_STAT_SRCS + alignment.cc + backoff_sampler.cc + data_array.cc + fast_intersector.cc + features/count_source_target.cc + features/feature.cc + features/is_source_singleton.cc + features/is_source_target_singleton.cc + features/max_lex_source_given_target.cc + features/max_lex_target_given_source.cc + features/sample_source_count.cc + features/target_given_source_coherent.cc + features/count_source_target.h + features/feature.h + features/is_source_singleton.h + features/is_source_target_singleton.h + features/max_lex_source_given_target.h + features/max_lex_target_given_source.h + features/sample_source_count.h + features/target_given_source_coherent.h + grammar.cc + grammar_extractor.cc + matchings_finder.cc + matchings_sampler.cc + matchings_trie.cc + phrase.cc + phrase_builder.cc + phrase_location.cc + phrase_location_sampler.cc + precomputation.cc + rule.cc + rule_extractor.cc + rule_extractor_helper.cc + rule_factory.cc + scorer.cc + suffix_array.cc + suffix_array_sampler.cc + target_phrase_extractor.cc + time_util.cc + translation_table.cc + vocabulary.cc + alignment.h + backoff_sampler.h + data_array.h + fast_intersector.h + grammar.h + grammar_extractor.h + matchings_finder.h + matchings_sampler.h + matchings_trie.h + phrase.h + phrase_builder.h + phrase_location.h + phrase_location_sampler.h + precomputation.h + rule.h + rule_extractor.h + rule_extractor_helper.h + rule_factory.h + sampler.h + scorer.h + suffix_array.h + suffix_array_sampler.h + target_phrase_extractor.h + time_util.h + translation_table.h + vocabulary.h) + +add_library(extractor STATIC ${extractor_STAT_SRCS}) + diff --git a/extractor/Makefile.am b/extractor/Makefile.am deleted file mode 100644 index a406d9dc..00000000 --- a/extractor/Makefile.am +++ /dev/null @@ -1,192 +0,0 @@ - -bin_PROGRAMS = sacompile run_extractor extract - -EXTRA_PROGRAMS = alignment_test \ - data_array_test \ - fast_intersector_test \ - feature_count_source_target_test \ - feature_is_source_singleton_test \ - feature_is_source_target_singleton_test \ - feature_max_lex_source_given_target_test \ - feature_max_lex_target_given_source_test \ - feature_sample_source_count_test \ - feature_target_given_source_coherent_test \ - grammar_extractor_test \ - matchings_finder_test \ - matchings_sampler_test \ - phrase_location_sampler_test \ - phrase_test \ - precomputation_test \ - rule_extractor_helper_test \ - rule_extractor_test \ - rule_factory_test \ - scorer_test \ - suffix_array_sampler_test \ - suffix_array_test \ - target_phrase_extractor_test \ - translation_table_test \ - vocabulary_test - -if HAVE_GTEST - RUNNABLE_TESTS = alignment_test \ - data_array_test \ - fast_intersector_test \ - feature_count_source_target_test \ - feature_is_source_singleton_test \ - feature_is_source_target_singleton_test \ - feature_max_lex_source_given_target_test \ - feature_max_lex_target_given_source_test \ - feature_sample_source_count_test \ - feature_target_given_source_coherent_test \ - grammar_extractor_test \ - matchings_finder_test \ - matchings_sampler_test \ - phrase_location_sampler_test \ - phrase_test \ - precomputation_test \ - rule_extractor_helper_test \ - rule_extractor_test \ - rule_factory_test \ - scorer_test \ - suffix_array_sampler_test \ - suffix_array_test \ - target_phrase_extractor_test \ - translation_table_test \ - vocabulary_test -endif - -noinst_PROGRAMS = $(RUNNABLE_TESTS) - -TESTS = $(RUNNABLE_TESTS) - -alignment_test_SOURCES = alignment_test.cc -alignment_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) libextractor.a -data_array_test_SOURCES = data_array_test.cc -data_array_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) libextractor.a -fast_intersector_test_SOURCES = fast_intersector_test.cc -fast_intersector_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -feature_count_source_target_test_SOURCES = features/count_source_target_test.cc -feature_count_source_target_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) libextractor.a -feature_is_source_singleton_test_SOURCES = features/is_source_singleton_test.cc -feature_is_source_singleton_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) libextractor.a -feature_is_source_target_singleton_test_SOURCES = features/is_source_target_singleton_test.cc -feature_is_source_target_singleton_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) libextractor.a -feature_max_lex_source_given_target_test_SOURCES = features/max_lex_source_given_target_test.cc -feature_max_lex_source_given_target_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -feature_max_lex_target_given_source_test_SOURCES = features/max_lex_target_given_source_test.cc -feature_max_lex_target_given_source_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -feature_sample_source_count_test_SOURCES = features/sample_source_count_test.cc -feature_sample_source_count_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) libextractor.a -feature_target_given_source_coherent_test_SOURCES = features/target_given_source_coherent_test.cc -feature_target_given_source_coherent_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) libextractor.a -grammar_extractor_test_SOURCES = grammar_extractor_test.cc -grammar_extractor_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -matchings_finder_test_SOURCES = matchings_finder_test.cc -matchings_finder_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -matchings_sampler_test_SOURCES = matchings_sampler_test.cc -matchings_sampler_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -phrase_location_sampler_test_SOURCES = phrase_location_sampler_test.cc -phrase_location_sampler_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -phrase_test_SOURCES = phrase_test.cc -phrase_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -precomputation_test_SOURCES = precomputation_test.cc -precomputation_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -rule_extractor_helper_test_SOURCES = rule_extractor_helper_test.cc -rule_extractor_helper_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -rule_extractor_test_SOURCES = rule_extractor_test.cc -rule_extractor_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -rule_factory_test_SOURCES = rule_factory_test.cc -rule_factory_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -scorer_test_SOURCES = scorer_test.cc -scorer_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -suffix_array_sampler_test_SOURCES = suffix_array_sampler_test.cc -suffix_array_sampler_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -suffix_array_test_SOURCES = suffix_array_test.cc -suffix_array_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -target_phrase_extractor_test_SOURCES = target_phrase_extractor_test.cc -target_phrase_extractor_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -translation_table_test_SOURCES = translation_table_test.cc -translation_table_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) $(GMOCK_LDFLAGS) $(GMOCK_LIBS) libextractor.a -vocabulary_test_SOURCES = vocabulary_test.cc -vocabulary_test_LDADD = $(GTEST_LDFLAGS) $(GTEST_LIBS) libextractor.a - -noinst_LIBRARIES = libextractor.a - -sacompile_SOURCES = sacompile.cc -sacompile_LDADD = libextractor.a -run_extractor_SOURCES = run_extractor.cc -run_extractor_LDADD = libextractor.a -extract_SOURCES = extract.cc -extract_LDADD = libextractor.a - -libextractor_a_SOURCES = \ - alignment.cc \ - backoff_sampler.cc \ - data_array.cc \ - fast_intersector.cc \ - features/count_source_target.cc \ - features/feature.cc \ - features/is_source_singleton.cc \ - features/is_source_target_singleton.cc \ - features/max_lex_source_given_target.cc \ - features/max_lex_target_given_source.cc \ - features/sample_source_count.cc \ - features/target_given_source_coherent.cc \ - features/count_source_target.h \ - features/feature.h \ - features/is_source_singleton.h \ - features/is_source_target_singleton.h \ - features/max_lex_source_given_target.h \ - features/max_lex_target_given_source.h \ - features/sample_source_count.h \ - features/target_given_source_coherent.h \ - grammar.cc \ - grammar_extractor.cc \ - matchings_finder.cc \ - matchings_sampler.cc \ - matchings_trie.cc \ - phrase.cc \ - phrase_builder.cc \ - phrase_location.cc \ - phrase_location_sampler.cc \ - precomputation.cc \ - rule.cc \ - rule_extractor.cc \ - rule_extractor_helper.cc \ - rule_factory.cc \ - scorer.cc \ - suffix_array.cc \ - suffix_array_sampler.cc \ - target_phrase_extractor.cc \ - time_util.cc \ - translation_table.cc \ - vocabulary.cc \ - alignment.h \ - backoff_sampler.h \ - data_array.h \ - fast_intersector.h \ - grammar.h \ - grammar_extractor.h \ - matchings_finder.h \ - matchings_sampler.h \ - matchings_trie.h \ - phrase.h \ - phrase_builder.h \ - phrase_location.h \ - phrase_location_sampler.h \ - precomputation.h \ - rule.h \ - rule_extractor.h \ - rule_extractor_helper.h \ - rule_factory.h \ - sampler.h \ - scorer.h \ - suffix_array.h \ - suffix_array_sampler.h \ - target_phrase_extractor.h \ - time_util.h \ - translation_table.h \ - vocabulary.h - -AM_CPPFLAGS = -W -Wall -Wno-sign-compare $(OPENMP_CXXFLAGS) $(GTEST_CPPFLAGS) $(GMOCK_CPPFLAGS) -AM_LDFLAGS = $(OPENMP_CXXFLAGS) diff --git a/extractor/scorer2_test.cc b/extractor/scorer2_test.cc new file mode 100644 index 00000000..bf77f7ef --- /dev/null +++ b/extractor/scorer2_test.cc @@ -0,0 +1,49 @@ +#include + +#include +#include +#include + +#include "mocks/mock_feature.h" +#include "scorer.h" + +using namespace std; +using namespace ::testing; + +namespace extractor { +namespace { + +class ScorerTest : public Test { + protected: + virtual void SetUp() { + feature1 = make_shared(); + EXPECT_CALL(*feature1, Score(_)).WillRepeatedly(Return(0.5)); + EXPECT_CALL(*feature1, GetName()).WillRepeatedly(Return("f1")); + + feature2 = make_shared(); + EXPECT_CALL(*feature2, Score(_)).WillRepeatedly(Return(-1.3)); + EXPECT_CALL(*feature2, GetName()).WillRepeatedly(Return("f2")); + + vector> features = {feature1, feature2}; + scorer = make_shared(features); + } + + shared_ptr feature1; + shared_ptr feature2; + shared_ptr scorer; +}; + +TEST_F(ScorerTest, TestScore) { + vector expected_scores = {0.5, -1.3}; + Phrase phrase; + features::FeatureContext context(phrase, phrase, 0.3, 2, 11); + EXPECT_EQ(expected_scores, scorer->Score(context)); +} + +TEST_F(ScorerTest, TestGetNames) { + vector expected_names = {"f1", "f2"}; + EXPECT_EQ(expected_names, scorer->GetFeatureNames()); +} + +} // namespace +} // namespace extractor diff --git a/extractor/scorer_test.cc b/extractor/scorer_test.cc deleted file mode 100644 index bf77f7ef..00000000 --- a/extractor/scorer_test.cc +++ /dev/null @@ -1,49 +0,0 @@ -#include - -#include -#include -#include - -#include "mocks/mock_feature.h" -#include "scorer.h" - -using namespace std; -using namespace ::testing; - -namespace extractor { -namespace { - -class ScorerTest : public Test { - protected: - virtual void SetUp() { - feature1 = make_shared(); - EXPECT_CALL(*feature1, Score(_)).WillRepeatedly(Return(0.5)); - EXPECT_CALL(*feature1, GetName()).WillRepeatedly(Return("f1")); - - feature2 = make_shared(); - EXPECT_CALL(*feature2, Score(_)).WillRepeatedly(Return(-1.3)); - EXPECT_CALL(*feature2, GetName()).WillRepeatedly(Return("f2")); - - vector> features = {feature1, feature2}; - scorer = make_shared(features); - } - - shared_ptr feature1; - shared_ptr feature2; - shared_ptr scorer; -}; - -TEST_F(ScorerTest, TestScore) { - vector expected_scores = {0.5, -1.3}; - Phrase phrase; - features::FeatureContext context(phrase, phrase, 0.3, 2, 11); - EXPECT_EQ(expected_scores, scorer->Score(context)); -} - -TEST_F(ScorerTest, TestGetNames) { - vector expected_names = {"f1", "f2"}; - EXPECT_EQ(expected_names, scorer->GetFeatureNames()); -} - -} // namespace -} // namespace extractor -- cgit v1.2.3