only: separating prod code from test code

This commit is contained in:
Andrey 2023-09-25 22:55:14 -04:00
parent e29fe83f17
commit e9f905b240
4 changed files with 19 additions and 16 deletions

View File

@ -3,7 +3,6 @@ package com.rusefi.test;
import static org.junit.Assert.assertEquals;
import com.rusefi.ReaderStateImpl;
import com.rusefi.output.SdCardFieldsConsumer;
import com.rusefi.util.LazyFile;
import org.junit.Test;
@ -82,7 +81,7 @@ public class SdCardFieldsGeneratorTest {
ReaderStateImpl state = new ReaderStateImpl(null, LazyFile.REAL);
actor.act(state);
SdCardFieldsConsumer consumer = new SdCardFieldsConsumer(LazyFile.TEST);
SdCardFieldsTestConsumer consumer = new SdCardFieldsTestConsumer(LazyFile.TEST);
state.readBufferedReader(input, consumer);
assertEquals(expectedOutput, consumer.getBody());
}

View File

@ -1,6 +1,11 @@
package com.rusefi.output;
package com.rusefi.test;
import com.rusefi.ReaderState;
import com.rusefi.ldmp.LiveDataProcessor;
import com.rusefi.output.ConfigStructure;
import com.rusefi.output.ConfigurationConsumer;
import com.rusefi.output.DataLogConsumer;
import com.rusefi.output.SdCardFieldsContent;
import com.rusefi.util.LazyFile;
import com.rusefi.util.LazyFileImpl;
@ -9,28 +14,21 @@ import java.io.IOException;
/**
* @see DataLogConsumer
*/
public class SdCardFieldsConsumer implements ConfigurationConsumer {
public class SdCardFieldsTestConsumer implements ConfigurationConsumer {
private final SdCardFieldsContent content = new SdCardFieldsContent();
private final LazyFile output;
public SdCardFieldsConsumer(String outputFileName) {
public SdCardFieldsTestConsumer(String outputFileName) {
output = new LazyFileImpl(outputFileName);
}
@Override
public void endFile() throws IOException {
wrapContent(output, getBody());
LiveDataProcessor.wrapContent(output, getBody());
output.close();
}
public static void wrapContent(LazyFile output, String content) {
output.write("static constexpr LogField fields[] = {\r\n" +
"{packedTime, GAUGE_NAME_TIME, \"sec\", 0},\n");
output.write(content);
output.write("};\r\n");
}
@Override
public void handleEndStruct(ReaderState state, ConfigStructure structure) throws IOException {
content.handleEndStruct(state, structure);

View File

@ -8,7 +8,6 @@ import org.yaml.snakeyaml.Yaml;
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
@ -91,6 +90,13 @@ public class LiveDataProcessor {
return yaml.load(reader);
}
public static void wrapContent(LazyFile output, String content) {
output.write("static constexpr LogField fields[] = {\r\n" +
"{packedTime, GAUGE_NAME_TIME, \"sec\", 0},\n");
output.write(content);
output.write("};\r\n");
}
private void end() throws IOException {
gaugeConsumer.endFile();
}
@ -242,7 +248,7 @@ public class LiveDataProcessor {
enumContent.append("} live_data_e;\n");
LazyFile lazyFile = fileFactory.create("console/binary_log/log_fields_generated.h");
SdCardFieldsConsumer.wrapContent(lazyFile, sdCardFieldsConsumer.getBody());
wrapContent(lazyFile, sdCardFieldsConsumer.getBody());
lazyFile.close();
outputValueConsumer.endFile();

View File

@ -17,7 +17,7 @@ import static com.rusefi.VariableRegistry.unquote;
/**
* here we generate [Datalog] section of TS .ini file
* DataLog section in turn references [OutputChannels] entities
* @see SdCardFieldsConsumer
* @see SdCardFieldsContent
*/
public class DataLogConsumer implements ConfigurationConsumer {
// https://github.com/rusefi/web_backend/issues/166