Skip to content

Releases: davidson-consulting/diff-xjoules

diff-xjoules-1.1.0

22 Aug 14:26
Compare
Choose a tag to compare

New features

  • jjoules: Task coverage takes now as input both paths to both versions of the program.
  • jsjoules
    • Make all the test async.
    • Add execution task.
    • Add instrumentation task.
    • Add command line options.
    • Add coverage task.
  • xjoules
    • Provide now the path to the file containing the diff to the coverage task.
    • Coverage task is now done once for both version of the program.

Bug Fixes

  • jjoules: Remove unused import.
  • jsjoules
    • Checkstyle.
    • Checkstyle.
    • Instrumentation supports now describe and it functions.
    • Install globally jscodeshift.
    • Code style updated.
    • Update test with new test coverages.
    • Replace also all underscores by spaces.
    • Convert tlpc report to diff_xjoules report.
    • Use current path for prefixing the path to the instrumentation.
    • Coverage statement is now mapped lines in file.
    • Sanitize_slash supports undefined input.
  • xjoules
    • Filter based on data instead of coverage.
    • Use now the correct templates for test_selection task.
    • Empty intersect checks that we have both data avalaible.
    • Init coverage v2 instead of twice v1.

Documentation

  • jjoules
    • Update README with new output.
    • Update configuration file examples with new contract on coverage task.
  • jsjoules
    • Add title for section on jscodeshift.
    • Add jscodeshift example.
    • Examples and command line usage.
    • Add configuration file example.
    • Add README.
  • xjoules
    • Add badges and js as supported language.
    • Update documentation with new task contracts.

Tests

  • jjoules
    • Manage the state of the test for v2.
    • Remove instrumentation.
  • jsjoules
    • Fix construction of test identifier.
    • Fix test execution_task.
    • Prepare env for execution_task test.
    • Update tests and fix ci.
    • Add test of execution task.
    • Add test for instrumentation task.
    • Testing coverage task.
    • Add test resources for diff-jsjoules.
  • xjoules
    • Update test with new command line.
    • Update test with new coverage task.

Continuous Integration

  • jsjoules
    • Add checkstyle.
    • Add CI for diff-jsjoules.

Refactoring

  • jjoules: All tasks take now both version of the program and must be run once.
  • jsjoules
    • Move instrumentation task code to dedicated function.
    • Move source to src folder.
  • xjoules
    • Format test_execution.
    • Test execution takes both path to each version and is runned once.
    • Test instrumentation takes both path to each version and is runned once.

Other

  • jsjoules
    • Add jest dependency.
    • Add measurements files and example output folder to gitignore.
    • Add backup files to gitignore.
    • Add generated files to gitignore.
    • Add diff-jsjoules files to gitignore.
  • xjoules: Bump version to 1.1.0.

Authors

Name Nb Commit
danglotb 59

diff-xjoules-1.0.0

22 Aug 14:22
Compare
Choose a tag to compare

New features

  • jjoules
    • Add test execution task.
    • Add test instrumentation task.
    • Add TestsSet type.
    • Add readClasspathFile.
    • Add wrapper and test set command line options.
    • Add MavenWrapper and PropertiesWrapper.
    • Add getClassFullQualifiedName.
    • Add Main and Configuration.
    • Add TestSelectionStep implementation.
    • Add ClassFullQualifiedName and MethodFullQualifiedName.
    • Add CloverReader.
    • Add CloverExecutor.
    • Add Step interface and StepEnum.
    • Add JSONUtils.
  • xjoules
    • first implementation of Configuration.
    • Can now pass several test_filters and mark_strategies to run several in one exec (by default, run all of them).
    • Can clone a TestSelection struct.
    • Add default values for various fields in the Configuration.
    • Delete if exists and create output folder.
    • Test_selection supports now diff with Only clauses and comma in operations line.
    • Collect data on the diff and diff cov during test selection.
    • Add fields for info about diff and diff cov.
    • Implementation of decide for CodeCov mark strategy.
    • Add get_total_nb_lines_covered to TestCoverage.
    • Add get_test_coverage_by_test_identifier to Coverage.
    • Add constructor and get_total_nb_lines_covered.
    • Add vote_mark_strategy implementation.
    • Add mark strategies placeholders.
    • Implement Aggregate mark strategy.
    • Placeholder for student_t_test test_filter.
    • Add implementation and test for empty_intersection_test_filter.
    • Add constructor to test_measure.
    • Add get_all_measures, get_max and get_min from a given indicator.
    • Add min and max functions.
    • Add constructors for Data and VersionMeasure structs.
    • Add command line option to provide confguration yaml file path.
    • Add report in TestFilter trait.
    • First implementation of STRICT mark strategy.
    • Output delta in json.
    • Add test_delta step to compute all the medians and all the delta of the tests.
    • First implementation of mark.
    • Add find_test_measure and get_median.
    • Add math module and fn to compute median.
    • Test execution test.
    • Add time to in millis in Configuration.
    • Alternate randomly between the two versions.
    • Merge on VersionMeasure struct.
    • Test_execution.
    • Add test_instrumentation step.
    • Write test_selection in json file at the end of the test_selection.
    • Write_json.
    • Derive from Serialize for Coverage and TestSelection.
    • Test_selection implemented.
    • Add find_test_executing_lines function.
    • Add run_command_redirect_to_file (unsafe).
    • Enrich Configuration and DiffXJoulesData.
    • Starting implem of test selection.
    • First step of diff-xjoules algo.
    • Add command runner.
    • Use now a dedicated struct for Coverage. read_json is now typed.
    • Add read_yaml file.
    • Read_json function and test.
    • Toy code to check the ci.

Bug Fixes

  • jjoules
    • Remove unused import.
    • Use MethodFullQualifiedName for identifier.
    • Clean and compile before instrumentation.
    • Use absolute path to Clover files.
  • xjoules
    • Filter deltas by is_some.
    • Get_test_coverage_by_test_identifier returns now an Option.
    • Add nb_modified_lines to the current counter.
    • Reverse comparison to zero and fix the tests.
    • Get_all_measures fn.
    • Remove all warnings.
    • Generate delta json file properly.
    • Pretty print json and borrow value.
    • Remove warnings.

Documentation

  • jjoules
    • Improve README with example to test diff-xjoules using diff-jjoules.
    • Add and configure slf4j.
    • First version of the README.
  • xjoules
    • Add some logging.
    • Update documentation with new names of mark strategies.
    • Update badges.
    • Add CI badges in README.
    • Update Test Filters doc.
    • Add changelog-generator.
    • Add details on test filters and mark strategies.
    • Add more details on prefix for commits.
    • Add more details on execution task to guide future developement.
    • Add more details on instrumentation task to guide future developement.
    • Add more details on coverage task to guide future developement.
    • Fix configuration YAML file example in README.
    • Fix configuration YAML file example in README.
    • Improve doc on approach and begin coverage documentation.
    • Fix link to additionnal documentation.
    • Add first version of README and additionnal documentation.

Tests

  • jjoules
    • Set the wrapper in the configuration to make the test passes.
    • Disable properties wrapper injection test since we do not want to add tlpc as dependencies.
    • Fix CloverReaderTest oracles.
    • Add test for test instrumentation task.
    • Add test for Wrappers.
    • Update tests and test resources.
    • Add TestSelectionStepTest.
    • Add ClassFullQualifiedNameTest and MethodFullQualifiedNameTest.
    • Add resources clover for testing CloverReader.
    • Add CloverReaderTest.
    • Add toy-project for testing diff-jjoules.
    • Add CloverExecutorTest.
    • Add test resources for JSONUtilsTest.
    • Add test for JSONUtils.
  • xjoules
    • Add test for diff_coverage_mark_strategy.
    • Add test for the CodeCov MarkStrategy.
    • Test get_total_nb_lines_covered for TestCoverage.
    • Test get_test_coverage_by_test_identifier.
    • Test constructor of FileCoverage.
    • Test get_total_nb_lines_covered.
    • Vote_mark_strategy.
    • Update test resources with new name of mark strategy.
    • Add test for aggregate mark strategy.
    • Test correctly min fn in math.
    • Test constructor of Configuration.
    • Add dedicated test for run_coverage_command.
    • Add test passing decision for StrictMarkStrategy.
    • Refactor test to use is none and not match pattern.
    • Add test resources with energy measurements.
    • Test test_mark step.
    • Test test_execution step.
    • Test test_instrumentation step.
    • Add test resources for test_delta step testing.
    • Testing of test_delta step's functions.
    • Add test on AllTestFilter filter function.
    • Test measure get all indicators.
    • Make the test pass and ignore integration test.
    • Add test resources for StrictMarkStrategy.
    • Add test on decide for StrictMarkStrategy.
    • Add test for fn median.
    • Add integration test for test_instrumentation using diff-jjoules.
    • Remove old test resources and update tests.
    • Add test resource for read_yaml fn.
    • Add test resources for read_json fn.

Continuous Integration

  • jjoules: Add workflow for diff-jjoules.
  • xjoules
    • Rename ci jobs.
    • Treat warnings as errors.
    • Add format check in rust.
    • Add CI for diff-xjoules.

Refactoring

  • jjoules
    • Use absolute path for the output folder of measurements.
    • Use now the Wrapper to run Clover.
    • Rename step by task and selection by coverage.
    • Use static definition of json struct.
  • xjoules
    • Format src and rename diff_data into diff_xjoules_data.
    • Format test_selection file.
    • Format modified the files.
    • Format code_coverage_mark_strategy.
    • Move find_test_executing_lines, execute_lines_of_file, and any_lines_is_covered to impl.
    • Format all the files.
    • Introduce an intermediate typed enum to build MarkStrategy.
    • Use directly filter() instead of chaining get() and filter().
    • Use now an intermediate enum to get types of TestFilter to be used.
    • Format all the files.
    • Format all the files.
    • Format all the files.
    • Split data into dedicated mods and files.
    • Split mark strategies and test filters into different files.
    • Split into dedicated modules and files.
    • Let the user of the API to manage the extension.
    • Do not borrow Configuration.
    • Use now a fn for templated command.
    • Use a HashSet instead of a Vec.
    • Rename cmd_coverage to coverage_cmd in Configuration.
    • Do not use Configuration as parameter.
    • Use ref to avoid clone.
    • Move run_coverage_command to Coverage and use const for string.
    • Split utils into dedicated files/mod.
    • Rename json.rs to files_utils.rs.

Other

  • jjoules
    • Add files to ignore of test resources jjoules v2.
    • Update .gitignore with test resources jjoules.
    • Add pom for diff-jjoules.
    • Bump diff-jjoules version to 1.0.0.
    • Add measurements folder to gitignore.
    • Add spoon and test-runner as dependencies.
    • Add plugins to build jar with dependencies.
    • Add checkstyle file.
  • xjoules
    • Add toml.
    • Add .gitignore.
    • Add more files to the gitignore.
    • Change version to 1.0.0 and add metadata.
    • Add generated files to gitignore.
    • Add jupiter dependencies to run with maven.
    • Add handlebars to manage template in commands.
    • Add dependency to serde YAML.
    • Add serde_json dependency.

Authors

Name Nb Commit
danglotb 192