This repository was archived by the owner on Nov 30, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +74
-1
lines changed Expand file tree Collapse file tree 3 files changed +74
-1
lines changed Original file line number Diff line number Diff line change 1
1
{
2
2
"files.associations" : {
3
3
"iostream" : " cpp"
4
- }
4
+ },
5
+ "cmake.sourceDirectory" : " ${workspaceRoot}/test-project"
5
6
}
Original file line number Diff line number Diff line change
1
+ cmake_minimum_required (VERSION 3.0.0)
2
+ project (test -project VERSION 0.1.0)
3
+
4
+ include (CTest)
5
+ enable_testing ()
6
+
7
+ add_executable (test -project main.cpp)
8
+
9
+ set (CPACK_PROJECT_NAME ${PROJECT_NAME} )
10
+ set (CPACK_PROJECT_VERSION ${PROJECT_VERSION} )
11
+ include (CPack)
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ cd $( dirname " $0 " )
3
+
4
+ if [ -z $HOME ]; then
5
+ HOME=" /root"
6
+ fi
7
+
8
+ FAILED=()
9
+
10
+ check () {
11
+ LABEL=$1
12
+ shift
13
+ echo -e " \n🧪 Testing $LABEL : $@ "
14
+ if $@ ; then
15
+ echo " 🏆 Passed!"
16
+ else
17
+ echo " 💥 $LABEL check failed."
18
+ FAILED+=(" $LABEL " )
19
+ fi
20
+ }
21
+
22
+ checkMultiple () {
23
+ PASSED=0
24
+ LABEL=" $1 "
25
+ shift ; MINIMUMPASSED=$1
26
+ shift ; EXPRESSION=" $1 "
27
+ while [ " $EXPRESSION " != " " ]; do
28
+ if $EXPRESSION ; then (( PASSED++ )) ; fi
29
+ shift ; EXPRESSION=$1
30
+ done
31
+ check " $LABEL " [ $PASSED -ge $MINIMUMPASSED ]
32
+ }
33
+
34
+ checkExtension () {
35
+ checkMultiple " $1 " 1 " [ -d " " $HOME /.vscode-server/extensions/$1 *" " ]" " [ -d " " $HOME /.vscode-server-insiders/extensions/$1 *" " ]" " [ -d " " $HOME /.vscode-test-server/extensions/$1 *" " ]"
36
+ }
37
+
38
+ # Actual tests
39
+ checkMultiple " vscode-server" 1 " [ -d " " $HOME /.vscode-server/bin" " ]" " [ -d " " $HOME /.vscode-server-insiders/bin" " ]" " [ -d " " $HOME /.vscode-test-server/bin" " ]"
40
+ checkExtension " ms-vscode.cpptools"
41
+ check " non-root-user" " id vscode"
42
+ check " /home/vscode" [ -d " /home/vscode" ]
43
+ check " sudo" sudo -u vscode echo " sudo works."
44
+ check " git" git --version
45
+ check " command-line-tools" which top ip lsb_release g++ gcc cmake cppcheck valgrind
46
+ check " g++" g++ -g main.cpp -o main.out
47
+ rm main.out
48
+ mkdir -p build
49
+ cd build
50
+ check " cmake" cmake ..
51
+ cd ..
52
+ rm -rf build
53
+
54
+ # Report result
55
+ if [ ${# FAILED[@]} -ne 0 ]; then
56
+ echo -e " \n💥 Failed tests: ${FAILED[@]} "
57
+ exit 1
58
+ else
59
+ echo -e " \n💯 All passed!"
60
+ exit 0
61
+ fi
You can’t perform that action at this time.
0 commit comments