source:
ogServer-Git/tests/run-tests.py
@
49fc6c5
Last change on this file since 49fc6c5 was f798e03, checked in by , 4 years ago | |
---|---|
|
|
File size: 2.3 KB |
Line | |
---|---|
1 | #!/usr/bin/env python3 |
2 | |
3 | import subprocess, glob, time, os |
4 | |
5 | sql_data = "INSERT INTO aulas (nombreaula, idcentro, urlfoto, grupoid, ubicacion, puestos, modomul, ipmul, pormul, velmul, router, netmask, ntp, dns, proxy, modp2p, timep2p) VALUES ('Aula virtual', 1, 'aula.jpg', 0, 'Despliegue virtual con Vagrant.', 5, 2, '239.194.2.11', 9000, 70, '192.168.56.1', '255.255.255.0', '', '', '', 'peer', 30); INSERT INTO ordenadores (nombreordenador, ip, mac, idaula, idrepositorio, idperfilhard, idmenu, idproautoexec, grupoid, router, mascara, arranque, netiface, netdriver, fotoord) VALUES ('pc2', '192.168.2.1', '0800270E6501', 1, 1, 0, 0, 0, 0, '192.168.56.1', '255.255.255.0', '00unknown', 'eth0', 'generic', 'fotoordenador.gif'), ('pc2', '192.168.2.2', '0800270E6502', 1, 1, 0, 0, 0, 0, '192.168.56.1', '255.255.255.0', '00unknown', 'eth0', 'generic', 'fotoordenador.gif');" |
6 | |
7 | sql_create_user = "CREATE USER 'test-db'@'localhost'; GRANT ALL PRIVILEGES ON *.* To 'test-db'@'localhost' IDENTIFIED BY 'test-db';" |
8 | |
9 | sql_delete_user = "DROP USER 'test-db'@'localhost';" |
10 | |
11 | def start_mysql(): |
12 | |
13 | subprocess.run(['mysqladmin', 'drop', '-f', 'test-db'], |
14 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) |
15 | subprocess.run(['mysqladmin', 'create', 'test-db']) |
16 | subprocess.run('mysql --default-character-set=utf8 test-db < ../cfg/ogAdmBD.sql', shell=True) |
17 | subprocess.run(['mysql', '-D', 'test-db', '-e', sql_data]) |
18 | subprocess.run(['mysql', '-D', 'test-db', '-e', sql_create_user]) |
19 | |
20 | def stop_mysql(): |
21 | |
22 | subprocess.run(['mysql', '-D', 'test-db', '-e', sql_delete_user]) |
23 | subprocess.run(['mysqladmin', 'drop', '-f', 'test-db']) |
24 | |
25 | if os.getuid() is not 0: |
26 | print('You need to be root to run these tests :-)') |
27 | exit() |
28 | |
29 | if os.path.isfile('../ogserver') is not True: |
30 | print('You need to build the ogserver binary to run these tests :-)') |
31 | exit() |
32 | |
33 | if os.path.isfile('/usr/bin/valgrind') is not True: |
34 | print('You need valgrind to run these tests :-)') |
35 | exit() |
36 | |
37 | start_mysql(); |
38 | |
39 | subprocess.Popen(['valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --log-file=./valgrind-out.log ../ogserver -f config/ogserver.json'], shell=True) |
40 | |
41 | print("Waiting 5 seconds for daemon to be read...") |
42 | time.sleep(5) |
43 | |
44 | subprocess.run('python3 -m unittest discover -s units -v', shell=True) |
45 | |
46 | stop_mysql(); |
47 | |
48 | subprocess.run(['pkill', '-f', 'valgrind']) |
Note: See TracBrowser
for help on using the repository browser.