Commit graph

661 commits

Author SHA1 Message Date
Simon Hausmann
3aa0c94f83 Run tests through the interpreter as well, at least for instantiation. 2020-06-05 16:02:59 +02:00
Simon Hausmann
d20eec1b4e Pick up newly added test cases
Add all the directories of the tests to the watch list of cargo. Adding
a new file will change the mtime of the directory and trigger a rebuild
then.
2020-06-05 15:18:14 +02:00
Simon Hausmann
5a5ab27f70 Minor cleanups
* Remove the dependency to the rust frontend and library from the test
  driver. Tests are compiled and run as standalone programs.
* Add diagnostics for the initial cargo run for the dependencies.
2020-06-05 15:11:26 +02:00
Simon Hausmann
54b02d2b0d Change the test driver to use the rust test framework
Collect all tests are build time in build.rs and generate Rust code that
uses #[test] annotated functions. This gives nice reporting and the
ability to run individual tests.
2020-06-05 14:47:05 +02:00
Simon Hausmann
46d7aaa2cb WIP 2020-06-05 14:11:29 +02:00
Simon Hausmann
31da762245 Complete compilation and running of .60 to mapped c++ tests
* Fix text-file-busy error when running the binary by replacing the use
  of named temp file with simply using the input source file and the
  extension replaced. A scope guard make sure to also delete the binary.
* Fix hard-coded library dependencies by sharing code with the cmake
  xtask that needs the same list.
2020-06-05 13:30:13 +02:00
Simon Hausmann
a69594530f First step towards compiling the generated C++ in the test driver
This extracts a compiler command line from the cc crate, runs the
compiler and tries to run the resulting binary. Unfortunately the latter
fails still.
2020-06-05 11:08:05 +02:00
Simon Hausmann
19a2777aec Fix build 2020-06-05 09:28:09 +02:00
Olivier Goffart
3651885d87 Move the compiler binary in tools/
And rename sixtyfps_compiler to sixtyfps_compilerlib
2020-06-05 09:23:38 +02:00
Simon Hausmann
3d1064f2e8 Separate the C++ bits into a separate module 2020-06-05 09:00:49 +02:00
Simon Hausmann
8624566e5c Add boilerplate for new testing harness
The objective is to have a bunch of .60 files with annotations inside
and the test harness picks them up and runs them through the Rust and
C++ frontend.
2020-06-05 08:56:16 +02:00