Skip to content

Commit e47b76f

Browse files
- Consolidation getting closer.
1 parent ffc65ce commit e47b76f

File tree

7 files changed

+25
-30
lines changed

7 files changed

+25
-30
lines changed

.github/workflows/build.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ jobs:
119119
120120
- name: Generate rewritten registry for simulations
121121
run: |
122-
python3 test\python\registry_rewrite.py
122+
python3 test\python\registry_rewrite.py --srcdir "$pwd\test\registry\src" --destdir "$pwd\test\registry-mocked\src"
123123
124124
- name: Get dependencies
125125
run: |
@@ -256,7 +256,7 @@ jobs:
256256
257257
- name: Generate rewritten registry for simulations
258258
run: |
259-
python3 test/python/registry_rewrite.py
259+
python3 test/python/registry_rewrite.py --srcdir "$(pwd)/test/registry/src" --destdir "$(pwd)/test/registry-mocked/src"
260260
261261
- name: Get dependencies
262262
run: |
@@ -523,7 +523,7 @@ jobs:
523523
- name: Generate rewritten registry for simulations
524524
if: ${{ matrix.registry != 'test/registry' }}
525525
run: |
526-
python3 test/python/registry_rewrite.py
526+
python3 test/python/registry_rewrite.py --srcdir "$(pwd)/test/registry/src" --destdir "$(pwd)/test/registry-mocked/src"
527527
528528
- name: Create certificates for robot tests
529529
run: |
@@ -653,7 +653,7 @@ jobs:
653653
654654
- name: Generate rewritten registry for simulations
655655
run: |
656-
python3 test/python/registry_rewrite.py
656+
python3 test/python/registry_rewrite.py --srcdir "$(pwd)/test/registry/src" --destdir "$(pwd)/test/registry-mocked/src"
657657
658658
- name: Get dependencies
659659
run: |
@@ -937,7 +937,7 @@ jobs:
937937

938938
- shell: wsl-bash {0}
939939
name: Generate rewritten registry for simulations
940-
run: python3 test/python/registry_rewrite.py
940+
run: python3 test/python/registry_rewrite.py --srcdir "$(pwd)/test/registry/src" --destdir "$(pwd)/test/registry-mocked/src"
941941

942942
- shell: wsl-bash {0}
943943
name: Create certificates for robot tests
@@ -1037,7 +1037,7 @@ jobs:
10371037
10381038
- name: Generate rewritten registry for simulations
10391039
run: |
1040-
python3 test/python/registry_rewrite.py
1040+
python3 test/python/registry_rewrite.py --srcdir "$(pwd)/test/registry/src" --destdir "$(pwd)/test/registry-mocked/src"
10411041
10421042
- name: Get dependencies
10431043
run: |
@@ -1557,7 +1557,7 @@ jobs:
15571557
- name: Generate rewritten registry for simulations
15581558
if: env.BUILD_IMAGE_REQUIRED == 'true'
15591559
run: |
1560-
python3 test/python/registry_rewrite.py --replacement-host=host.docker.internal
1560+
python3 test/python/registry_rewrite.py --srcdir "$(pwd)/test/registry/src" --destdir "$(pwd)/test/registry-mocked/src" --replacement-host=host.docker.internal
15611561
15621562
15631563
- name: Create certificates for robot tests

.github/workflows/scenario.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,23 +99,23 @@ jobs:
9999
AWS_ACCESS_KEY_ID: ${{ secrets.CI_SCENARIO_RO_AWS_ACCESS_KEY_ID }}
100100
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_SCENARIO_RO_AWS_SECRET_ACCESS_KEY }}
101101
run: |
102-
python3 test/python/markdown_testing/markdown_testing.py --test-root=docs/walkthroughs/readonly 2>&1 | tee cicd/log/markdown-readonly-testing-results.log
102+
python3 test/python/markdown_testing/markdown_testing.py $(pwd) --test-root=docs/walkthroughs/readonly 2>&1 | tee cicd/log/markdown-readonly-testing-results.log
103103
104104
- name: Run Read Write Walkthrough Scenarios
105105
if: ${{ env.runType == env.RUNTYPE_READ_WRITE || env.runType == env.RUNTYPE_ALL }}
106106
env:
107107
AWS_ACCESS_KEY_ID: ${{ secrets.CI_SCENARIO_RW_AWS_ACCESS_KEY_ID }}
108108
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_SCENARIO_RW_AWS_SECRET_ACCESS_KEY }}
109109
run: |
110-
python3 test/python/markdown_testing/markdown_testing.py --test-root=docs/walkthroughs/readwrite 2>&1 | tee cicd/log/markdown-readwrite-testing-results.log
110+
python3 test/python/markdown_testing/markdown_testing.py $(pwd) --test-root=docs/walkthroughs/readwrite 2>&1 | tee cicd/log/markdown-readwrite-testing-results.log
111111
112112
- name: Run Deploy Walkthrough Scenarios
113113
if: ${{ env.runType == env.RUNTYPE_DEPLOY || env.runType == env.RUNTYPE_ALL }}
114114
env:
115115
AWS_ACCESS_KEY_ID: ${{ secrets.CI_SCENARIO_RW_AWS_ACCESS_KEY_ID }}
116116
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_SCENARIO_RW_AWS_SECRET_ACCESS_KEY }}
117117
run: |
118-
python3 test/python/markdown_testing/markdown_testing.py --test-root=docs/walkthroughs/deploy 2>&1 | tee cicd/log/markdown-deploy-testing-results.log
118+
python3 test/python/markdown_testing/markdown_testing.py $(pwd) --test-root=docs/walkthroughs/deploy 2>&1 | tee cicd/log/markdown-deploy-testing-results.log
119119
120120
- name: Upload Test Results
121121
uses: actions/[email protected]

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ ADD cicd ${TEST_ROOT_DIR}/cicd
101101
COPY --from=certificates /opt/test/stackql ${TEST_ROOT_DIR}/
102102

103103
RUN pip3 install PyYaml \
104-
&& python3 ${TEST_ROOT_DIR}/test/python/registry_rewrite.py
104+
&& python3 ${TEST_ROOT_DIR}/test/python/registry_rewrite.py \
105+
--srcdir ${TEST_ROOT_DIR}/test/registry/src --destdir ${TEST_ROOT_DIR}/test/registry-mocked/src
105106

106107
FROM utility AS integration
107108

docs/developer_guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ Local testing of the application:
186186

187187
1. Run `go test --tags "sqlite_stackql" ./...` tests.
188188
2. Build the executable [as per the root README](/README.md#build)
189-
3. Perform registry rewrites as needed for mocking `python3 test/python/registry_rewrite.py`.
189+
3. Perform registry rewrites as needed for mocking `python3 test/python/registry_rewrite.py --srcdir "$(pwd)/test/registry/src" --destdir "$(pwd)/test/registry-mocked/src"`.
190190
3. Run robot tests:
191191
- Functional tests, mocked as needed `robot -d test/robot/functional test/robot/functional`.
192192
- Integration tests `robot -d test/robot/integration test/robot/integration`. For these, you will need to set various envirnonment variables as per the github actions.

test/python/markdown_testing/markdown_testing.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ def _parse_args() -> argparse.Namespace:
2626
Parse the arguments.
2727
"""
2828
parser = argparse.ArgumentParser(description='Create a token.')
29-
parser.add_argument('--test-root', type=str, help='The test root.', default=os.path.join(_REPOSITORY_ROOT_PATH, 'docs', 'walkthroughs'))
29+
parser.add_argument('cwd', type=str, help='The working dir to stasrt and finish in.')
30+
parser.add_argument('--test-root', type=str, help='The test root.', required=True)
3031
return parser.parse_args()
3132

3233

33-
_REPOSITORY_ROOT_PATH = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..', '..'))
34-
3534

3635
def eprint(*args, **kwargs):
3736
print(*args, file=sys.stderr, **kwargs)
@@ -236,23 +235,25 @@ class MdOrchestrator(object):
236235

237236
def __init__(
238237
self,
238+
cwd: str,
239239
parser: MdParser,
240240
max_setup_blocks: int = 1,
241241
max_invocations_blocks: int = 1,
242242
max_teardown_blocks: int = 1,
243243
setup_contains_shell_invocation: bool = True
244244
):
245+
self._cwd = cwd
245246
self._parser = parser
246247
self._max_setup_blocks = max_setup_blocks
247248
self._max_invocations_blocks = max_invocations_blocks
248249
self._max_teardown_blocks = max_teardown_blocks
249250
self._setup_contains_shell_invocation = setup_contains_shell_invocation
250251

251252
def _get_teardown_base(self) -> str:
252-
return f'set -e;\ncd {_REPOSITORY_ROOT_PATH};\n'
253+
return f'set -e;\ncd {self._cwd};\n'
253254

254255
def _get_setup_base(self) -> str:
255-
return f'cd {_REPOSITORY_ROOT_PATH};\n'
256+
return f'cd {self._cwd};\n'
256257

257258
def orchestrate(self, file_path: str) -> List[WorkloadDTO]:
258259
return self._orchestrate_block(file_path, 0, self._parser.parse_markdown_file(file_path).get_ordered())
@@ -425,9 +426,9 @@ def run(self) -> WalkthroughResult:
425426

426427
class AllWalkthroughsRunner(object):
427428

428-
def __init__(self):
429+
def __init__(self, cwd: str):
429430
md_parser = MdParser()
430-
self._orchestrator: MdOrchestrator = MdOrchestrator(md_parser)
431+
self._orchestrator: MdOrchestrator = MdOrchestrator(cwd, md_parser)
431432

432433
def run_all(self, walkthrough_inodes: List[str], recursive=True, skip_readme=True) -> List[WalkthroughResult]:
433434
results: List[WalkthroughResult] = []
@@ -480,7 +481,7 @@ def _run_tests(root_dir: str) -> List[WalkthroughResult]:
480481
481482
:return: The results.
482483
"""
483-
runner: AllWalkthroughsRunner = AllWalkthroughsRunner()
484+
runner: AllWalkthroughsRunner = AllWalkthroughsRunner(root_dir)
484485
results: List[WalkthroughResult] = runner.run_all([root_dir])
485486
return results
486487

test/python/registry_rewrite.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@
99
import shutil
1010
import yaml
1111

12-
CURDIR :str = os.path.dirname(os.path.realpath(__file__))
13-
_TEST_ROOT_DIR :str = os.path.abspath(os.path.join(CURDIR, '..'))
14-
15-
_DEFAULT_SRC_DIR = os.path.join(_TEST_ROOT_DIR, 'registry', 'src')
16-
_DEFAULT_DST_DIR = os.path.join(_TEST_ROOT_DIR, 'registry-mocked', 'src')
1712
DEFAULT_PORT = 1070
1813
GOOGLE_DEFAULT_PORT = 1080
1914
GOOGLEADMIN_DEFAULT_PORT = 1098
@@ -33,13 +28,13 @@
3328
parser.add_argument(
3429
'--srcdir',
3530
type=str,
36-
default=_DEFAULT_SRC_DIR,
31+
required=True,
3732
help='directory containing executable'
3833
)
3934
parser.add_argument(
4035
'--destdir',
4136
type=str,
42-
default=_DEFAULT_DST_DIR,
37+
required=True,
4338
help='directory containing config and cache'
4439
)
4540
parser.add_argument(

test/python/stackql_context.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from typing import Optional
99

10-
from typed_python_responses import SELECT_AWS_CLOUD_CONTROL_EVENTS_MINIMAL_EXPECTED
10+
from .typed_python_responses import SELECT_AWS_CLOUD_CONTROL_EVENTS_MINIMAL_EXPECTED
1111

1212
_exe_name = 'stackql'
1313

@@ -96,8 +96,6 @@ def get_source_path_for_docker(self) -> str:
9696

9797
DB_INTERNAL_CFG_LAX :str = "{ \"tableRegex\": \"(?i)^(?:public\\\\.)?(?:pg_.*|current_schema|information_schema)\" }"
9898

99-
_TEST_APP_CACHE_ROOT = os.path.abspath(os.path.join(REPOSITORY_ROOT, "test", ".stackql"))
100-
10199
ROBOT_TEST_ROOT = os.path.abspath(os.path.join(REPOSITORY_ROOT, 'test', 'robot'))
102100

103101
ROBOT_PROD_REG_DIR = os.path.abspath(os.path.join(ROBOT_TEST_ROOT, 'registry', 'prod'))

0 commit comments

Comments
 (0)