func TestExternalIncludeReplacerPragmaToInclude(t *testing.T) { context := make(map[string]interface{}) context[constants.CTX_GCC_MINUS_E_SOURCE] = sourceWithPragmas context[constants.CTX_INCLUDES] = []string{"/tmp/test184599776/sketch/config.h", "/tmp/test184599776/sketch/includes/de bug.h", "Bridge.h"} replacer := builder.ExternalIncludeReplacer{SourceKey: constants.CTX_GCC_MINUS_E_SOURCE, TargetKey: constants.CTX_GCC_MINUS_E_SOURCE, From: "#pragma ___MY_INCLUDE___ ", To: "#include "} err := replacer.Run(context) NoError(t, err) require.Nil(t, context[constants.CTX_SOURCE]) require.Equal(t, sourceWithIncludes, context[constants.CTX_GCC_MINUS_E_SOURCE].(string)) }
func TestExternalIncludeReplacerPragmaToInclude(t *testing.T) { ctx := &types.Context{} ctx.SourceGccMinusE = sourceWithPragmas ctx.Includes = []string{"/tmp/test184599776/sketch/config.h", "/tmp/test184599776/sketch/includes/de bug.h", "Bridge.h"} replacer := builder.ExternalIncludeReplacer{Source: &ctx.SourceGccMinusE, Target: &ctx.SourceGccMinusE, From: "#pragma ___MY_INCLUDE___ ", To: "#include "} err := replacer.Run(ctx) NoError(t, err) require.Empty(t, ctx.Source) require.Equal(t, sourceWithIncludes, ctx.SourceGccMinusE) }