mirror of
https://github.com/Ed94/gencpp.git
synced 2024-12-22 07:44:45 -08:00
updates to test validations
They don't really work great right now...
This commit is contained in:
parent
1e4d5ce630
commit
1417a68757
@ -5,21 +5,64 @@
|
|||||||
#define GEN_BENCHMARK
|
#define GEN_BENCHMARK
|
||||||
#include "gen.cpp"
|
#include "gen.cpp"
|
||||||
#include "gen.builder.cpp"
|
#include "gen.builder.cpp"
|
||||||
|
#include "gen.scanner.cpp"
|
||||||
#include "sanity.cpp"
|
#include "sanity.cpp"
|
||||||
#include "SOA.cpp"
|
#include "SOA.cpp"
|
||||||
|
|
||||||
|
#ifdef GEN_SYSTEM_WINDOWS
|
||||||
|
#include <process.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
using namespace gen;
|
||||||
|
|
||||||
|
void format_file( char const* path )
|
||||||
|
{
|
||||||
|
String resolved_path = String::make(GlobalAllocator, to_str(path));
|
||||||
|
|
||||||
|
String style_arg = String::make(GlobalAllocator, txt("-style=file:"));
|
||||||
|
style_arg.append("../scripts/.clang-format ");
|
||||||
|
|
||||||
|
// Need to execute clang format on the generated file to get it to match the original.
|
||||||
|
#define clang_format "clang-format "
|
||||||
|
#define cf_format_inplace "-i "
|
||||||
|
#define cf_verbose "-verbose "
|
||||||
|
String command = String::make( GlobalAllocator, clang_format );
|
||||||
|
command.append( cf_format_inplace );
|
||||||
|
command.append( cf_verbose );
|
||||||
|
command.append( style_arg );
|
||||||
|
command.append( resolved_path );
|
||||||
|
log_fmt("\tRunning clang-format on file:\n");
|
||||||
|
system( command );
|
||||||
|
log_fmt("\tclang-format finished reformatting.\n");
|
||||||
|
#undef cf_cmd
|
||||||
|
#undef cf_format_inplace
|
||||||
|
#undef cf_style
|
||||||
|
#undef cf_verbse
|
||||||
|
}
|
||||||
|
|
||||||
|
Code dump_to_scratch_and_retireve( Code code )
|
||||||
|
{
|
||||||
|
Builder ecode_file_temp = Builder::open("gen/scratch.hpp");
|
||||||
|
ecode_file_temp.print(code);
|
||||||
|
ecode_file_temp.write();
|
||||||
|
format_file("gen/scratch.hpp");
|
||||||
|
Code result = scan_file( "gen/scratch.hpp" );
|
||||||
|
remove("gen/scratch.hpp");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
#include "validate.original.cpp"
|
#include "validate.original.cpp"
|
||||||
#include "validate.singleheader.cpp"
|
#include "validate.singleheader.cpp"
|
||||||
|
|
||||||
int gen_main()
|
int gen_main()
|
||||||
{
|
{
|
||||||
using namespace gen;
|
|
||||||
log_fmt("\ngen_time:");
|
log_fmt("\ngen_time:");
|
||||||
|
|
||||||
// check_sanity();
|
// check_sanity();
|
||||||
|
|
||||||
// check_SOA();
|
// check_SOA();
|
||||||
|
|
||||||
validate_original_files_ast();
|
// validate_original_files_ast();
|
||||||
validate_singleheader_ast();
|
validate_singleheader_ast();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -8,10 +8,6 @@
|
|||||||
#include "gen.scanner.hpp"
|
#include "gen.scanner.hpp"
|
||||||
using namespace gen;
|
using namespace gen;
|
||||||
|
|
||||||
#ifdef GEN_SYSTEM_WINDOWS
|
|
||||||
#include <process.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define path_root "../"
|
#define path_root "../"
|
||||||
#define path_project path_root "project/"
|
#define path_project path_root "project/"
|
||||||
#define path_scripts path_root "scripts/"
|
#define path_scripts path_root "scripts/"
|
||||||
@ -26,13 +22,32 @@ void validate_file_ast( char const* path, char const* path_gen )
|
|||||||
|
|
||||||
String path_temp = String::make_length( GlobalAllocator, path_gen, str_len( path_gen ) );
|
String path_temp = String::make_length( GlobalAllocator, path_gen, str_len( path_gen ) );
|
||||||
|
|
||||||
|
// Sleep(100);
|
||||||
FileContents file = file_read_contents( GlobalAllocator, true, path );
|
FileContents file = file_read_contents( GlobalAllocator, true, path );
|
||||||
// FileError error = file_open_mode( & path_temp, EFileMode_WRITE, path );
|
|
||||||
// if ( error != EFileError_NONE )
|
// Duplicate and format
|
||||||
// {
|
{
|
||||||
// log_failure( "gen::File::open - Could not open file: %s", path);
|
// Sleep(100);
|
||||||
// return;
|
FileInfo scratch;
|
||||||
// }
|
FileError error = file_open_mode( & scratch, EFileMode_WRITE, "gen/scratch.cpp" );
|
||||||
|
if ( error != EFileError_NONE ) {
|
||||||
|
log_failure( "gen::File::open - Could not open file: %s", "gen/scratch.cpp");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Sleep(100);
|
||||||
|
b32 result = file_write( & scratch, file.data, file.size );
|
||||||
|
if ( result == false ) {
|
||||||
|
log_failure("gen::File::write - Failed to write to file: %s\n", file_name( & scratch ) );
|
||||||
|
file_close( & scratch );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
file_close( & scratch );
|
||||||
|
// Sleep(100);
|
||||||
|
format_file( "gen/scratch.cpp" );
|
||||||
|
// Sleep(100);
|
||||||
|
|
||||||
|
file = file_read_contents( GlobalAllocator, true, "gen/scratch.cpp" );
|
||||||
|
}
|
||||||
|
|
||||||
u64 time_start = time_rel_ms();
|
u64 time_start = time_rel_ms();
|
||||||
CodeBody ast = parse_global_body( { file.size, (char const*)file.data } );
|
CodeBody ast = parse_global_body( { file.size, (char const*)file.data } );
|
||||||
@ -85,8 +100,11 @@ void validate_original_files_ast()
|
|||||||
gen::init();
|
gen::init();
|
||||||
log_fmt("\nvalidate_original_files_ast:\n");
|
log_fmt("\nvalidate_original_files_ast:\n");
|
||||||
|
|
||||||
PreprocessorDefines.append( get_cached_string( txt("GEN_DEF_INLINE") ));
|
PreprocessorDefines.append( get_cached_string( txt("GEN_FILE_SEEK_PROC(")));
|
||||||
PreprocessorDefines.append( get_cached_string( txt("GEN_IMPL_INLINE") ));
|
PreprocessorDefines.append( get_cached_string( txt("GEN_FILE_READ_AT_PROC(")));
|
||||||
|
PreprocessorDefines.append( get_cached_string( txt("GEN_FILE_WRITE_AT_PROC(")));
|
||||||
|
PreprocessorDefines.append( get_cached_string( txt("GEN_FILE_CLOSE_PROC(")));
|
||||||
|
PreprocessorDefines.append( get_cached_string( txt("GEN_FILE_OPEN_PROC(")));
|
||||||
|
|
||||||
// Helpers
|
// Helpers
|
||||||
{
|
{
|
||||||
@ -99,7 +117,7 @@ void validate_original_files_ast()
|
|||||||
// Dependencies
|
// Dependencies
|
||||||
{
|
{
|
||||||
#define validate( path ) validate_file_ast( path_dependencies path, "gen/original/dependencies/" path )
|
#define validate( path ) validate_file_ast( path_dependencies path, "gen/original/dependencies/" path )
|
||||||
validate( "header_start.hpp" );
|
validate( "platform.hpp" );
|
||||||
validate( "macros.hpp" );
|
validate( "macros.hpp" );
|
||||||
validate( "basic_types.hpp" );
|
validate( "basic_types.hpp" );
|
||||||
validate( "debug.hpp" );
|
validate( "debug.hpp" );
|
||||||
|
@ -7,17 +7,38 @@
|
|||||||
#include "gen.scanner.hpp"
|
#include "gen.scanner.hpp"
|
||||||
using namespace gen;
|
using namespace gen;
|
||||||
|
|
||||||
#ifdef GEN_SYSTEM_WINDOWS
|
|
||||||
#include <process.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void validate_singleheader_ast()
|
void validate_singleheader_ast()
|
||||||
{
|
{
|
||||||
#define root_dir "../"
|
#define root_dir "../"
|
||||||
gen::init();
|
gen::init();
|
||||||
log_fmt("\validate_singleheader_ast:\n");
|
log_fmt("\nvalidate_singleheader_ast:\n");
|
||||||
|
|
||||||
|
FileContents file = file_read_contents( GlobalAllocator, true, root_dir "singleheader/gen/gen.hpp" );
|
||||||
|
|
||||||
|
// Duplicate and format
|
||||||
|
{
|
||||||
|
// Sleep(100);
|
||||||
|
FileInfo scratch;
|
||||||
|
FileError error = file_open_mode( & scratch, EFileMode_WRITE, "gen/scratch.cpp" );
|
||||||
|
if ( error != EFileError_NONE ) {
|
||||||
|
log_failure( "gen::File::open - Could not open file: %s", "gen/scratch.cpp");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Sleep(100);
|
||||||
|
b32 result = file_write( & scratch, file.data, file.size );
|
||||||
|
if ( result == false ) {
|
||||||
|
log_failure("gen::File::write - Failed to write to file: %s\n", file_name( & scratch ) );
|
||||||
|
file_close( & scratch );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
file_close( & scratch );
|
||||||
|
// Sleep(100);
|
||||||
|
format_file( "gen/scratch.cpp" );
|
||||||
|
// Sleep(100);
|
||||||
|
|
||||||
|
file = file_read_contents( GlobalAllocator, true, "gen/scratch.cpp" );
|
||||||
|
}
|
||||||
|
|
||||||
FileContents file = file_read_contents( GlobalAllocator, true, root_dir "singleheader/gen/gen.hpp" );
|
|
||||||
u64 time_start = time_rel_ms();
|
u64 time_start = time_rel_ms();
|
||||||
CodeBody ast = parse_global_body( { file.size, (char const*)file.data } );
|
CodeBody ast = parse_global_body( { file.size, (char const*)file.data } );
|
||||||
log_fmt("\nAst generated. Time taken: %llu ms\n", time_rel_ms() - time_start);
|
log_fmt("\nAst generated. Time taken: %llu ms\n", time_rel_ms() - time_start);
|
||||||
|
Loading…
Reference in New Issue
Block a user