import unittest
from yeast_harness import *


class TestLargeSourceTree(unittest.TestCase):

    def test_large_source_tree(self):

        make_filename = lambda ext='': ''.join(
                random.choice(string.ascii_lowercase) for _ in range(8)) + ext

        make_sources = lambda path: [
                CSourceFile(path + '/' + make_filename('.c')) for _ in range(100)]
        make_spore = lambda: SporeFile(
                sources=make_sources(make_filename()),
                products='static_lib',
                name=make_filename('.spore'))

        mk = Makefile(
            spores=[make_spore() for _ in range(10)], name='Makefile')

        with SourceTree('tree', preserve=True) as src:
            src.create(mk)
            build = Build(src, mk)
            self.assertEqual(0, build.make('-j4'))

import unittest
from yeast_harness import *


class TestLargeSourceTree(unittest.TestCase):

    def test_large_source_tree(self):

        make_filename = lambda ext='': ''.join(
                random.choice(string.ascii_lowercase) for _ in range(8)) + ext

        make_sources = lambda path: [
                CSourceFile(path + '/' + make_filename('.c')) for _ in range(10)]
        make_spore = lambda: SporeFile(
                sources=make_sources(make_filename()),
                products='static_lib',
                name=make_filename('.spore'))

        mk = Makefile(
            spores=[make_spore() for _ in range(10)], name='Makefile')

        with SourceTree('tree') as src:
            src.create(mk)
            build = Build(src, mk)
            self.assertEqual(0, build.make())

--- 
+++ 
@@ -10,7 +10,7 @@
                 random.choice(string.ascii_lowercase) for _ in range(8)) + ext
 
         make_sources = lambda path: [
-                CSourceFile(path + '/' + make_filename('.c')) for _ in range(10)]
+                CSourceFile(path + '/' + make_filename('.c')) for _ in range(100)]
         make_spore = lambda: SporeFile(
                 sources=make_sources(make_filename()),
                 products='static_lib',
@@ -19,7 +19,7 @@
         mk = Makefile(
             spores=[make_spore() for _ in range(10)], name='Makefile')
 
-        with SourceTree('tree') as src:
+        with SourceTree('tree', preserve=True) as src:
             src.create(mk)
             build = Build(src, mk)
-            self.assertEqual(0, build.make())
+            self.assertEqual(0, build.make('-j4'))
Increase size of large source tree 10x

- up to 1000 source files
- use parallel make
- preserve source tree
