Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Refactorenv.h free functions to staticProject class#201

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
coder137 merged 11 commits intomainfromstatic_project_class
Mar 27, 2022
Merged
Show file tree
Hide file tree
Changes from1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
PrevPrevious commit
NextNext commit
Updated env and test env
  • Loading branch information
@coder137
coder137 committedMar 27, 2022
commit609df5a45cde3af6e2331c32bc72513eac0dd248
4 changes: 4 additions & 0 deletionsbuildcc/lib/env/CMakeLists.txt
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,9 @@ if (${TESTING})
target_link_options(mock_env PUBLIC ${TEST_LINK_FLAGS} ${BUILD_LINK_FLAGS})

# Tests
add_executable(test_static_project test/test_static_project.cpp)
target_link_libraries(test_static_project PRIVATE mock_env)

add_executable(test_env_util test/test_env_util.cpp)
target_link_libraries(test_env_util PRIVATE mock_env)

Expand All@@ -35,6 +38,7 @@ if (${TESTING})
add_executable(test_command test/test_command.cpp)
target_link_libraries(test_command PRIVATE mock_env)

add_test(NAME test_static_project COMMAND test_static_project)
add_test(NAME test_env_util COMMAND test_env_util)
add_test(NAME test_task_state COMMAND test_task_state)
add_test(NAME test_command COMMAND test_command)
Expand Down
5 changes: 5 additions & 0 deletionsbuildcc/lib/env/include/env/env.h
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -34,6 +34,11 @@ class Project {
static bool IsInit();
static const fs::path &GetRootDir();
static const fs::path &GetBuildDir();

private:
static bool &GetStaticInit();
static fs::path &GetStaticRootDir();
static fs::path &GetStaticBuildDir();
};

} // namespace buildcc
Expand Down
42 changes: 37 additions & 5 deletionsbuildcc/lib/env/src/env.cpp
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -29,13 +29,45 @@ namespace buildcc {

void Project::Init(const fs::path &project_root_dir,
const fs::path &project_build_dir) {
env::init(project_root_dir, project_build_dir);
// env::init(project_root_dir, project_build_dir);

// State
fs::path root_dir = project_root_dir;
fs::path build_dir = project_build_dir;
root_dir.make_preferred();
build_dir.make_preferred();

GetStaticRootDir() = root_dir;
GetStaticBuildDir() = build_dir;
GetStaticInit() = true;

// Logging
env::set_log_pattern("%^[%l]%$ %v");
env::set_log_level(env::LogLevel::Info);
}
void Project::Deinit() { env::deinit(); }
void Project::Deinit() {
// env::deinit();
GetStaticRootDir() = "";
GetStaticBuildDir() = "";
GetStaticInit() = false;
}

bool Project::IsInit() { return GetStaticInit(); }
const fs::path &Project::GetRootDir() { return GetStaticRootDir(); }
const fs::path &Project::GetBuildDir() { return GetStaticBuildDir(); }

bool Project::IsInit() { return env::is_init(); }
const fs::path &Project::GetRootDir() { return env::get_project_root_dir(); }
const fs::path &Project::GetBuildDir() { return env::get_project_build_dir(); }
bool &Project::GetStaticInit() {
static bool is_init = false;
return is_init;
}
fs::path &Project::GetStaticRootDir() {
static fs::path root_dir = "";
return root_dir;
}
fs::path &Project::GetStaticBuildDir() {
static fs::path build_dir = "";
return build_dir;
}

} // namespace buildcc

Expand Down
27 changes: 27 additions & 0 deletionsbuildcc/lib/env/test/test_static_project.cpp
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
#include "env/env.h"

// NOTE, Make sure all these includes are AFTER the system and header includes
#include "CppUTest/CommandLineTestRunner.h"
#include "CppUTest/MemoryLeakDetectorNewMacros.h"
#include "CppUTest/TestHarness.h"
#include "CppUTest/Utest.h"

// clang-format off
TEST_GROUP(StaticProjectTestGroup)
{
void setup() {
}
};
// clang-format on

TEST(StaticProjectTestGroup, ProjectInitialized) {
CHECK_FALSE(buildcc::Project::IsInit());
buildcc::Project::Init(fs::current_path(), fs::current_path());
CHECK_TRUE(buildcc::Project::IsInit());
buildcc::Project::Deinit();
CHECK_FALSE(buildcc::Project::IsInit());
}

int main(int ac, char **av) {
return CommandLineTestRunner::RunAllTests(ac, av);
}

[8]ページ先頭

©2009-2025 Movatter.jp