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.

47 lines
1.1KB

  1. from typing import ContextManager
  2. from pathlib import Path
  3. from tests import DDS
  4. from tests.fileutil import ensure_dir, set_contents
  5. def test_build_empty(dds: DDS) -> None:
  6. assert not dds.source_root.exists()
  7. dds.scope.enter_context(ensure_dir(dds.source_root))
  8. dds.build()
  9. def test_build_simple(dds: DDS) -> None:
  10. dds.scope.enter_context(set_contents(dds.source_root / 'src/f.cpp', b'void foo() {}'))
  11. dds.build()
  12. def basic_pkg_dds(dds: DDS) -> ContextManager[Path]:
  13. return set_contents(
  14. dds.source_root / 'package.json5', b'''
  15. {
  16. name: 'test-pkg',
  17. version: '0.2.2',
  18. namespace: 'test',
  19. }
  20. ''')
  21. def test_empty_with_pkg_dds(dds: DDS) -> None:
  22. dds.scope.enter_context(basic_pkg_dds(dds))
  23. dds.build()
  24. def test_empty_with_lib_dds(dds: DDS) -> None:
  25. dds.scope.enter_context(basic_pkg_dds(dds))
  26. dds.build()
  27. def test_empty_sdist_create(dds: DDS) -> None:
  28. dds.scope.enter_context(basic_pkg_dds(dds))
  29. dds.sdist_create()
  30. def test_empty_sdist_export(dds: DDS) -> None:
  31. dds.scope.enter_context(basic_pkg_dds(dds))
  32. dds.sdist_export()