Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

restructure testing pipeline #2

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open

Conversation

fabaindaiz
Copy link
Collaborator

@fabaindaiz fabaindaiz commented Aug 6, 2024

This pull request introduces significant enhancements and new features to the Black-Box Compiler Tester (BBCTester). The key changes include the addition of configurable test pipelines, new runtime and compiler functionalities, and improvements in test file parsing and handling.

Enhancements to BBCTester:

  • Configurable Test Pipelines:

    • Added the ability to configure or modify the steps executed in the test pipeline, allowing BBCTester to be used with different compilers, such as OCaml compilers. (README.md README.mdR6-R15)
    • Introduced new runtime and compiler functionalities, including support for clang and gcc runtimes, and direct output handling. (runtime.ml dev/runtime.mlR1-R96)
  • Test File Parsing and Handling:

    • Implemented functions to parse test files, extract relevant sections, and handle errors. (file.ml [1] file.mli [2]
    • Added support for reading and processing test files, including handling different test statuses and expected results. (main.ml [1] main.mli [2]
  • Pipeline and Utility Functions:

    • Created a pipeline module to manage the compilation and execution of tests, including handling different types of compilers and runtimes. (pipeline.ml dev/pipeline.mlR1-R33)
    • Added utility functions for string processing, file handling, and capturing stdout from functions. (util.ml dev/util.mlR1-R97)
  • Test and Type Definitions:

    • Defined OCaml types for representing test files, statuses, compilers, and runtimes. (type.ml [1] type.mli [2]
    • Added functions to generate and run tests using Alcotest, including support for legacy definitions. (test.ml [1] test.mli [2]
  • Library Configuration:

    • Configured the library with dune, specifying the modules and dependencies required for BBCTester. (dune dev/duneR1-R5)

These changes collectively enhance the flexibility, usability, and functionality of BBCTester, making it more adaptable to various compiler testing scenarios.

@etanter etanter requested review from GPRicci and romero-jose August 6, 2024 14:36
@fabaindaiz fabaindaiz marked this pull request as ready for review August 26, 2024 05:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant