-
-
Notifications
You must be signed in to change notification settings - Fork 681
Expand file tree
/
Copy pathverify.sh
More file actions
executable file
·50 lines (39 loc) · 1.77 KB
/
verify.sh
File metadata and controls
executable file
·50 lines (39 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash
set -euo pipefail
verify_output() {
local OUTPUT_FILE=$1
# Extract the RULES_PYTHON_TESTING_MODULE_SPACE values
local OUTER_MODULE_SPACE=$(grep "outer: RULES_PYTHON_TESTING_MODULE_SPACE" "$OUTPUT_FILE" | sed "s/outer: RULES_PYTHON_TESTING_MODULE_SPACE='\(.*\)'/\1/")
local INNER_MODULE_SPACE=$(grep "inner: RULES_PYTHON_TESTING_MODULE_SPACE" "$OUTPUT_FILE" | sed "s/inner: RULES_PYTHON_TESTING_MODULE_SPACE='\(.*\)'/\1/")
echo "Outer module space: $OUTER_MODULE_SPACE"
echo "Inner module space: $INNER_MODULE_SPACE"
# Extract the inner runfiles values
local INNER_RUNFILES_DIR=$(grep "inner: RUNFILES_DIR" "$OUTPUT_FILE" | sed "s/inner: RUNFILES_DIR='\(.*\)'/\1/")
local INNER_RUNFILES_MANIFEST_FILE=$(grep "inner: RUNFILES_MANIFEST_FILE" "$OUTPUT_FILE" | sed "s/inner: RUNFILES_MANIFEST_FILE='\(.*\)'/\1/")
echo "Inner runfiles dir: $INNER_RUNFILES_DIR"
echo "Inner runfiles manifest file: $INNER_RUNFILES_MANIFEST_FILE"
# Extract the inner lib import result
local INNER_LIB_IMPORT=$(grep "inner: import_result" "$OUTPUT_FILE" | sed "s/inner: import_result='\(.*\)'/\1/")
echo "Inner lib import result: $INNER_LIB_IMPORT"
# Check 1: The two values are different
if [ "$OUTER_MODULE_SPACE" == "$INNER_MODULE_SPACE" ]; then
echo "Error: Outer and Inner module spaces are the same."
exit 1
fi
# Check 2: Inner is not a subdirectory of Outer
case "$INNER_MODULE_SPACE" in
"$OUTER_MODULE_SPACE"/*)
echo "Error: Inner module space is a subdirectory of Outer's."
exit 1
;;
*)
# This is the success case
;;
esac
# Check 3: inner_lib was imported
if [ "$INNER_LIB_IMPORT" != "success" ]; then
echo "Error: Inner lib was not successfully imported."
exit 1
fi
echo "Verification successful."
}