You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
876B

  1. from time import sleep
  2. from dds_ci.testing import ProjectOpener
  3. def test_config_template(project_opener: ProjectOpener) -> None:
  4. proj = project_opener.open('copy_only')
  5. generated_fpath = proj.build_root / '__dds/gen/info.hpp'
  6. assert not generated_fpath.is_file()
  7. proj.build()
  8. assert generated_fpath.is_file()
  9. # Check that re-running the build will not update the generated file (the
  10. # file's content has not changed. Re-generating it would invalidate the
  11. # cache and force a false-rebuild.)
  12. start_time = generated_fpath.stat().st_mtime
  13. sleep(0.1) # Wait just long enough to register a new stamp time
  14. proj.build()
  15. new_time = generated_fpath.stat().st_mtime
  16. assert new_time == start_time
  17. def test_simple_substitution(project_opener: ProjectOpener) -> None:
  18. simple = project_opener.open('simple')
  19. simple.build()